如何从PHP中的多维数组中删除重复值如何从PHP中的多维数组中删除重复值?示例数组:Array(
[0] => Array
(
[0] => abc [1] => def
)
[1] => Array
(
[0] => ghi [1] => jkl )
[2] => Array
(
[0] => mno [1] => pql )
[3] => Array
(
[0] => abc [1] => def
)
[4] => Array
(
[0] => ghi [1] => jkl )
[5] => Array
(
[0] => mno [1] => pql ))
4 回答
守候你守候我
TA贡献1802条经验 获得超10个赞
这是另一种方式。不保存任何中间变量。
我们使用它来删除各种重叠查询的结果。
$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
MYYA
TA贡献1868条经验 获得超4个赞
我有一个类似的问题,但我找到了100%的工作解决方案。
<?php function super_unique($array,$key) { $temp_array = []; foreach ($array as &$v) { if (!isset($temp_array[$v[$key]])) $temp_array[$v[$key]] =& $v; } $array = array_values($temp_array); return $array; }$arr="";$arr[0]['id']=0;$arr[0]['titel']="ABC";$arr[1]['id']=1;$arr[1]['titel']="DEF";$arr[2]['id']=2;$arr[2]['titel']="ABC"; $arr[3]['id']=3;$arr[3]['titel']="XYZ";echo "<pre>";print_r($arr); echo "unique*********************<br/>";print_r(super_unique($arr,'titel'));?>
慕斯709654
TA贡献1840条经验 获得超5个赞
其他方式。也将保留密钥。
function array_unique_multidimensional($input){ $serialized = array_map('serialize', $input); $unique = array_unique($serialized); return array_intersect_key($input, $unique);}
添加回答
举报
0/150
提交
取消