multidimensional - obtener el valor de un array php
Eliminar el valor duplicado en una matriz multidimensional (3)
Creo que deberías probar esto
function uniqueElements($outerArray){
$result=array();
foreach ($outerArray as $innerArray){
$result=array_merge($innerArray);
}
return array_unique($result);
}
todo lo que quiero eliminar el valor duplicado de esta matriz
Array
(
[0] => Array
(
[0] => Ajay Patel
[1] => Tag 1
)
[1] => Array
(
[0] => Tag 1
[1] => Tag 3
)
[2] => Array
(
)
[3] => Array
(
)
[4] => Array
(
)
)
Intenté esta solución de Cómo eliminar valores duplicados de una matriz multidimensional en PHP
$ result2 = array_map ("unserialize", array_unique (array_map ("serialize", $ result2)));
Pero creo que algo está mal aquí, estoy obteniendo esto como resultado.
Array
(
[0] => Array
(
[0] => Ajay Patel
[1] => Tag 1
)
[1] => Array
(
[0] => Tag 1
[1] => Tag 3
)
[2] => Array
(
)
)
Lo que quiero es
Array
(
[0] => Ajay Patel
[1] => Tag 1
[2] => Tag 3
)
La etiqueta 1 se elimina porque es 2 veces ...
prueba esto
$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);
$result2 = array_unique(call_user_func_array(''array_merge'',$result2));