Trouble with array_unique
-
27-09-2019 - |
Question
print_r($tokens);
$tokens = array_unique($tokens);
print_r($tokens);
donne le résultat suivant:
Array
(
[0] => Array
(
[Class_ID] => 32709
)
[1] => Array
(
[Class_ID] => 34682
)
[2] => Array
(
[Class_ID] => 34818
)
)
Array
(
[0] => Array
(
[Class_ID] => 32709
)
)
Je ne veux pas que ce soit de changer quoi que ce soit avec cette array_unique, puisque les valeurs class_id sont différentes .. Whats up?
La solution 2
trouvé une fonction de php.net qui fait array_unique sur les tableaux multidimensionnels:
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;
}
Autres conseils
De documentation :
Remarque: Deux éléments sont considérés comme égaux si et seulement si
(string) $elem1 === (string) $elem2
En d'autres termes: lorsque la représentation de chaîne est le même. Le premier élément sera utilisé.
Tous vos éléments toString
sont Array
.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow