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');

posted on 2013-04-02 14:37  coolnet  阅读(309)  评论(0编辑  收藏  举报

导航