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