deuletor Posté 16 Octobre 2007 Posté 16 Octobre 2007 (modifié) bonjour j'ai un tableau du style Array ( [0] => Array ( [titre] => titre [lien] => www.lien1.com ) [1] => Array ( [titre] => titre [lien] => www.lien2.com ) [2] => Array ( [titre] => titre3 [lien] => www.lien3.com ) [3] => Array ( [titre] => titre4 [lien] => www.lien4.com ) } et j'aimerais suprimer les doublon de ma clef titre j'ai essaye avec array_unique mais il m'affiche que la premier ligne donc si quelqu'un pourrais m'aider car je bloque decu depuis un petit moment et Modifié 16 Octobre 2007 par deuletor
biouche Posté 16 Octobre 2007 Posté 16 Octobre 2007 Bonjour, essaie cette fonction sur ton tableau : function dedoublonner_liens($links_array) { $rslt_array = array(); $known_titles = array(); foreach ($links_array as $link) { if (!in_array($link["titre"], $known_titles) { $rslt_array[] = $link; $known_titles[] = $link["titre"]; } } return $rslt_array;} Je te laisse le soin de la tester, je ne l'ai pas fait à+ !
marcb Posté 16 Octobre 2007 Posté 16 Octobre 2007 Bonsoir, Tu devrais te tourner vers cette fonction : http://fr3.php.net/manual/fr/function.array-unique.php M
biouche Posté 16 Octobre 2007 Posté 16 Octobre 2007 (modifié) j'ai essaye avec array_unique mais il m'affiche que la premier ligne Il a tenté le coup; et son résultat s'explique ainsi : - la fonction array_unique compare les valeurs du tableau en les convertissant en chaines de caractères. - chaque valeur du tableau en question est un tableau. Or n'importe quel tableau converti en chaine de caractère donne la chaine "Array". - du coup, array_unique trouve qu'il n'y a que des doublons de "Array" dans son tableau, et donc il ne retourne qu'un seul élément du tableau. (mais pas forcément le premier, contrairement à ce qu'a dit deuletor) Modifié 16 Octobre 2007 par biouche
deuletor Posté 16 Octobre 2007 Auteur Posté 16 Octobre 2007 Bonsoir, Tu devrais te tourner vers cette fonction : http://fr3.php.net/manual/fr/function.array-unique.php M heu oui j'ai testé mais elle me retourne que la premier ligne elle doit pas etre fait pour des tableau a plusieurs dimensions ou alors je les mal utiliser enfin bref Bonjour, essaie cette fonction sur ton tableau : function dedoublonner_liens($links_array) { $rslt_array = array(); $known_titles = array(); foreach ($links_array as $link) { if (!in_array($link["titre"], $known_titles) { $rslt_array[] = $link; $known_titles[] = $link["titre"]; } } return $rslt_array;} Je te laisse le soin de la tester, je ne l'ai pas fait à+ ! merci biouche c'est exactement se qu'il me fallait mais je vais etudier de plus pres les tableau car j'ai de grosse lacune de se cote
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant