Problemi con array_unique
-
27-09-2019 - |
Domanda
print_r($tokens);
$tokens = array_unique($tokens);
print_r($tokens);
ha pronunciato la seguente uscita:
Array
(
[0] => Array
(
[Class_ID] => 32709
)
[1] => Array
(
[Class_ID] => 34682
)
[2] => Array
(
[Class_ID] => 34818
)
)
Array
(
[0] => Array
(
[Class_ID] => 32709
)
)
Non voglio che sia cambiare nulla con quella array_unique, poiché i valori sono diversi class_id .. Whats Up?
Soluzione 2
Trovato una funzione da php.net che fa array_unique su array multidimensionali:
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;
}
Altri suggerimenti
Nota: Due elementi sono considerati uguali se e solo se
(string) $elem1 === (string) $elem2
In parole: quando la rappresentazione di stringa è lo stesso. Verrà utilizzato il primo elemento.
Tutti gli elementi sono toString
Array
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow