Aller au contenu

tableau multidimensionnel doublon


Sujets conseillés

Posté (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 :mad2:

Modifié par deuletor
Posté

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 ;)

à+ !

Posté (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) :D

Modifié par biouche
Posté
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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...