如果你想用这个函数,请参考我的另外一篇文章。http://www.shangzh.com/21.html   PHP对二维数组的排序

原理是先排序之后,再根据某个键来删除,下面看代码

/**
* 根据某个键给二维数组去重,这个必须是排序的
* @param array $array
* @param string $keyid
* @return array
* @example array_unique_two($array,’id’);
*/
function array_unique_two($array, $key) {
if (is_array($array)) {
$first = reset($array); //获取第一个
array_shift($array); //删除第一个

$temp = $first[$key];//第一个值
if($array){
$res = [];
foreach($array as $val) {
if($val[$key] != $temp){
$res[] = $val;
$temp = $val[$key];
}
}
$data=[];
$data[] = $first;
$array = array_merge($data,(array)$res);
}else{
$array = $first;
}

}
return $array;
}

Comments are closed.

Post Navigation