所有 我想从此数组中删除重复值
Array
(
[0] => Array
(
[0] => Ajay Patel
[1] => Tag 1
)
[1] => Array
(
[0] => Tag 1
[1] => Tag 3
)
[2] => Array
(
)
[3] => Array
(
)
[4] => Array
(
)
)
我从How to remove duplicate values from a multi-dimensional array in PHP
尝试了这个解决方案$ result2 = array_map(“unserialize”,array_unique(array_map(“serialize”,$ result2)));
但我觉得这里出了点问题,我得到了这个结果。
Array
(
[0] => Array
(
[0] => Ajay Patel
[1] => Tag 1
)
[1] => Array
(
[0] => Tag 1
[1] => Tag 3
)
[2] => Array
(
)
)
我想要的是
Array
(
[0] => Ajay Patel
[1] => Tag 1
[2] => Tag 3
)
标签1已被删除,因为它有2次......
答案 0 :(得分:2)
试试这个
$result = array();
function merge_values(array &$array, $mixed) {
if(is_array($mixed)) {
foreach($mixed as $tags) {
merge_values($array, $tags);
}
}
else {
if(null !== $mixed && strlen($mixed) > 0 && false === array_search($mixed, $array)) {
$array[] = $mixed;
}
}
}
merge_values($result, $array);
print_r($result);
答案 1 :(得分:2)
$result2 = array_unique(call_user_func_array('array_merge',$result2));
答案 2 :(得分:1)
我认为你应该试试这个
function uniqueElements($outerArray){
$result=array();
foreach ($outerArray as $innerArray){
$result=array_merge($innerArray);
}
return array_unique($result);
}