Problemas con array_unique
-
27-09-2019 - |
Pregunta
print_r($tokens);
$tokens = array_unique($tokens);
print_r($tokens);
da el siguiente resultado:
Array
(
[0] => Array
(
[Class_ID] => 32709
)
[1] => Array
(
[Class_ID] => 34682
)
[2] => Array
(
[Class_ID] => 34818
)
)
Array
(
[0] => Array
(
[Class_ID] => 32709
)
)
Yo no quiero que sea cambiar nada con eso array_unique, ya que los valores son diferentes CLASS_ID .. whats up?
Solución 2
Encontrados una función de php.net que hace array_unique en matrices multidimensionales:
function super_unique($array) //array unique for multi
{
$result = array_map("unserialize", array_unique(array_map("serialize", $array)));
foreach ($result as $key => $value)
{
if ( is_array($value) )
{
$result[$key] = super_unique($value);
}
}
return $result;
}
Otros consejos
Nota: Dos elementos son considerados iguales si y sólo si
(string) $elem1 === (string) $elem2
En otras palabras: cuando la representación de cadena es el mismo. Se utilizará el primer elemento.
Todos los elementos son toString
Array
.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow