一、性能高,不易理解:
/** * 二维数组去重 * @param $array 二维数组 * @param $field 根据二维数组中的某个字段进行去重 * @return array|false */ public function array_unique_key($array,$field) { if(empty($array) || !$field){ return false; } //返回指定字段的一列数据 $fields = array_column($array, $field); //去重 $fields = array_unique($fields); //比较两个数组,返回交集,只比较键(key) $data = array_intersect_key($array,$fields); //重置数组的键(key) $data = array_values($data); return $data; }
二、性能低,容易理解:
public function array_unique_key($arr,$key)
{ $tmp_arr=array(); foreach($arr as $k => $v){ if(in_array($v[$key],$tmp_arr)){ //判断是否重复 unset($arr[$k]); //重复则删除 }else{ $tmp_arr[]=$v[$key]; //将值存储在临时数组中 } } return $arr; }
标签:arr,return,key,field,二维,数组,array,php From: https://www.cnblogs.com/fyiyy/p/17649771.html