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

转载于:https://www.cnblogs.com/batcom/archive/2013/04/02/2995480.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值