Array_unique

orchideedorient Messages postés 2 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 21 mai 2008 - 21 mai 2008 à 11:32
cs_Darksheep Messages postés 69 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 15 septembre 2009 - 15 sept. 2009 à 10:00
Bonjour,
J'ai un problème que je ne comprends pas avec un array_unique. En lisant, le manuel PHP, il est bien stipuler : "array_unique() trie les valeurs traitées comme des chaînes dans un premier temps, puis garde la première clé rencontrée pour chaque valeur et ignore les clés suivantes"

J'ai cette ligne de code : $result = array_unique($tab);

Mon $tab contient 80 entrées. Les clés vont de 0 a 79. Les valeurs pour chacune de ces clés sont identiques.
Mon $result est correct : il n'y a qu'une seule donnée. Sauf qu'au lieu que ce soit [0] => toto lorsque je print mon $result, il apparait [55] => toto.

J'aimerais comprendre pourquoi l'array_unique n'a pas pris en compte la première clé rencontrée, mais une au milieu du tableau. Pourriez vous m'éclairer?

Merci

3 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
21 mai 2008 à 14:44
Salut,

Tu aurais du lire aussi la phrase suivante : "Cela ne signifie pas que la clé de la première valeur
rencontrée du tableau <tt class="parameter">array</tt>
non trié sera
conservée."

Comme tu l'as lu, "array_unique() trie les valeurs traitées comme des chaînes dans un premier temps".
Le résultat dépendra donc de la manière dont PHP gère les registres mémoire. Du coup, dans ton cas, le premier élément rencontré est celui dont l'index est 55.

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
orchideedorient Messages postés 2 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 21 mai 2008
21 mai 2008 à 15:11
Merci de ta réponse. Je n'avais pas fait attention. J'ai trouvé une solution.
cs_Darksheep Messages postés 69 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 15 septembre 2009
15 sept. 2009 à 10:00
alors fais partager !
Rejoignez-nous