php多维数组去重复
因为在开发过程中经常遇到从数据库中去出来数组后,按着需求合并数组后会有重复的情况,网上的数组去重复太复杂了,
特地想了一个简单的记录下来,方便以后调用
function my_array_unique($arr,$item){
foreach($arr as $key =>$value){
$array[$value[$item] = $value;
}
return $array;
}
就这几行简单代码就能完成。只有两个参数,第一个就是要处理的数组,支持多维,第二个就是去重复的唯一标志变量
举例说明
$arr1 = array(
array('id'=>76,'username'=>'xixi'),
array('id'=>77,'username'=>'gaga'),
array('id'=>79,'username'=>'hehe'),
);
$arr2 = array(
array('id'=>70,'username'=>'lili'),
array('id'=>76,'username'=>'xixi'),
array('id'=>78,'username'=>'wowo'),
);
$array = array();
$arr = array_merge($arr1,$arr2);
$arr1,$arr2是从数据库按要求选出的结果,$arr是合并后的结果,有重复,也就是需要处理的数组,他们中间的唯一标志就是id这个key
所以得到去重复后的数组就是
$array = my_array_unique($arr,'id');