如何从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
提交
取消
