pb avec in_array

Eléphant du PHP | 138 Messages

27 mai 2006, 01:07

Salut,

J'ai un probleme avec un in_array je pense que tout est bon mais cela ne m'affiche rien

Code : Tout sélectionner

$champs = explode (",", $data[0]); //car $data[0] contient une variable du type (01,02,03,04 etc) //si je fais un echo $champs[0] j'ai bien Informatique if (in_array ("Informatique", $champs)) { $selection1="SELECTED"; print "Trouvé info"; } echo $selection1; //ne me donne rien
Merci de votre aide

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mai 2006, 03:59

Salut,
La casse est la même ? (minuscules / majuscules)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 138 Messages

27 mai 2006, 10:31

ou oui la casse est la meme

Eléphant du PHP | 493 Messages

27 mai 2006, 10:48

Peut être devrais tu faire un print_r($champs) pour voir de quoi il en retourne.

Eléphant du PHP | 138 Messages

27 mai 2006, 10:52

cela me retourne ca

Code : Tout sélectionner

Array ( [0] => Informatique [1] => Voyages [2] => Divers )

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 mai 2006, 11:19

Il n'y a pas d'espace dans ta chaine initiale qui pourrait faire la différence ? (genre "Informatique , Voyages , ...")

Fais un echo de $data[0] et compare également la chaine "Informatique" à $data[0][0] avec un if et un echo de n'importe quoi pour voir si ca marche :)

Eléphant du PHP | 138 Messages

27 mai 2006, 11:40

non pas d'espace

j'ai deja fait un echo de $data[0] et j'ai bien aussi Informatique

c'est un casse tete.

Eléphant du PHP | 138 Messages

27 mai 2006, 12:28

voici mon avancement mais toujours rien qui s'affiche

Code : Tout sélectionner

$_liste = array ("Informatique","Voyages","Finance","Enfants","Electromenager"); //je recupere la liste Array ( [0] => Informatique [1] => Voyages [2] => Finance ) $champs = explode (",", $data[0]); while ($row = mysql_fetch_array($liste) ) { if (in_array($row, $champs) ) { echo("<option value='$row[0]' selected>$row[0]</option>"); } else { echo("<option value='$row'>$row</option>"); } }

Eléphant du PHP | 138 Messages

27 mai 2006, 12:55

Je viens en effet qu'il y avait un espace devant Informatique donc de ce cote la c'est regle

Eléphant du PHP | 493 Messages

27 mai 2006, 13:12

Je te conseille de pré-traiter tes variables à l'aide de trim().

Eléphant du PHP | 138 Messages

27 mai 2006, 14:50

kool merci pour ce conseil