$data=[['foo'=>'bar','x'=>'foo'],['foo'=>'bar1','x'=>'foo1'],['foo'=>'bar','x'=>'foo2']];我需要把这个数组中的foo重复的数组删除,只保留下来一条就行。怎么做?$data=[['foo'=>'bar','x'=>'foo'],['foo'=>'bar1','x'=>'foo1'],];
2 回答
慕森王
TA贡献1777条经验 获得超3个赞
$tmp=[];foreach($dataas$key=>$datum){if(in_array($datum['foo'],$tmp)){unset($data[$key]);continue;}$tmp[]=$datum['foo'];}
PIPIONE
TA贡献1829条经验 获得超9个赞
//$arr=array_merge($data1,$data2);//合并需要合并的俩个数组$key='foo';//去重条件$tmp_arr=array();//声明数组//var_dump($data);foreach($dataas$k=>$v){if(in_array($v[$key],$tmp_arr))//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true{unset($data[$k]);//删除掉数组($arr)里相同ID的数组}else{$tmp_arr[]=$v[$key];//记录已有的id}}var_dump($data);
添加回答
举报
0/150
提交
取消