方法一:这个更好一些,可以指定去重的key
function array_new_unique($arr, $key)
{
$res = array();
foreach ($arr as $value) {
if (isset($res[$value[$key]])) {
unset($value[$key]);
} else {
$res[$value[$key]] = $value;
}
}
return $res;
}
方法二:原理是先把数组转为json字符串一维数组,然后再用array_unique去重.
function array_new_unique(array $array)
{
$array = array_map('json_encode', $array);
$array = array_unique($array);
$array = array_map(function ($json) { return json_decode($json, true); }, $array);
return $array;
}
数组对象去重(第二种方法也可以):
function arrayUnique($array)
{
foreach ($array as $k => $v) {
foreach ($array as $k2 => $v2) {
if (($v2 == $v) && ($k != $k2)) {
unset($array[$k]);
}
}
}
return $array;
}