Eviter les doublons dans un array

Résolu/Fermé
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 - 28 mars 2011 à 11:39
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 - 28 mars 2011 à 16:33
Bonjour,

J'essaie d'incrémenter un array en php en évitant les doublons...

Soit une liste, admettons (pour simplifier), un premier array:
	$marque[0]=Peugeot;
	$marque[1]=Peugeot;
	$marque[2]=Renault;


Je souhaite que dans mon array Peugeot n'apparaisse qu'une fois...

incrémentation de l'array:
	$marques=array();
	for ($i=0;$i<count($marque);$i++) {
		if (!in_array($marque)) $marques[]=$marque[$i];
	}


J'ai fait comme ça, mais ça ne fonctionne pas...

Merci.
A voir également:

3 réponses

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
28 mars 2011 à 16:27
Regarde ici:
http://php.net/manual/fr/function.array-unique.php
2
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 32
28 mars 2011 à 16:33
Merci
0
kwaio Messages postés 3416 Date d'inscription mercredi 21 mars 2007 Statut Contributeur Dernière intervention 28 mars 2011 681
28 mars 2011 à 11:43
Je ne sais pas si c'est possible en PHP, mais en java, j'aurai transformé mon tableau en Set, puis l'inverse. Sachant que Set ne supporte pas de doublons, ils auraient été supprimés.
C'est peut être transposable ?
0
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 32
28 mars 2011 à 12:24
Ca dépend, c'est quoi set en java ? lol
0
debutantXXL
28 mars 2011 à 12:26
si ta liste vient d'une base, pourquoi pas un select distinct?
0
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 32
28 mars 2011 à 14:06
C'est pas vraiment une base... C'est un fichier XML avec lequel je travaille avec du SimpleXML (si vous trouvez un cours XQuery en français et bien détaillé, je prends !).
0
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 32
28 mars 2011 à 16:33
Merci...
0
Eastchild Messages postés 319 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 31
28 mars 2011 à 14:33
Bonjour,

rajoute un contrôle à ta requête :

$marques=array();

$marques[]=$marque[0];

for ($i=1;$i<count($marque);$i++) {
	if (!in_array($marque) && $marque[($i-1)]!= $marque[$i]) {
                 $marques[]=$marque[$i];
        }
}



0
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 32
28 mars 2011 à 14:51
CA ne va pas trop... Ma boucle est un foreach pour récupérer des infos d'un fichier XML
0
Eastchild Messages postés 319 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 31
28 mars 2011 à 15:19
pourquoi ne pas avoir mis le code avec le foreach ?
0
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 32
28 mars 2011 à 15:28
Désolé, je voulais simplifier... Quand je ne le fait pas, généralement, on ne me répond pas...

Mais j'ai trouver une alternative avec array_unique() en php...
0