Comparaison d'une variable avec celle d'un tableau

[Résolu]
Signaler
Messages postés
8
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
1 juin 2008
-
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonjour,
J'ai un petit souci, je ne comprends pas pourquoi la comparaison ne se fait pas il me renvoie faux alors que $str=Lesly et $_Get['eleve']=Lesly
Merci d'avance pour vos idées

$str=$liste_classe_array[$i];
       if($_GET['eleve']==$str)
   {

7 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
hello,
sûrement parce que tu te trompes en fait.
Pour en avoir le coeur net, on debuggue!

$str=$liste_classe_array[$i];
echo '#', $str, '# => #', $_GET['eleve'], '#
';
if($_GET['eleve']==$str)
{
Messages postés
8
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
1 juin 2008

$str=trim($liste_classe_array[$i]);

ça marche mille merci je débute en php
encore merci
Messages postés
8
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
1 juin 2008

Merci pour cette astuce et effectivement tu as raison les deux chaines ne sont pas les mêmes, il y a un petit espace qui me gène à la fin de $str. J'ai beau essayer de l'enlever rien à faire avec $str= str_replace(' ','',$liste_classe_array[$i]); j'obtiens toujours

#Axell #Axell#

$liste_classe_array[$i] correspond à un tableau qui a été construit à partir d'un fichier (chaque ligne représente un nom  d'élève, mais il n'y a pas d'espace derrière, simplement un retour pour changer de ligne):

function Affichage_liste_classe($classe)
       {
      $fichier_classe = 'liste_classe/'.$classe.'.php';
       if(file_exists($fichier_classe)) 
              {
              $puce='    ';
                $liste_classe_array = file($fichier_classe);
              for($i=0;$i<sizeof($liste_classe_array);$i++) // tant que $i est inferieur au nombre d'éléments du tableau...
                  {
                   echo $puce ;
                   echo $liste_classe_array[$i].'
'; // on affiche l'élément du tableau d'indice $i
                  }
              }
          }
Je vois pas comment je peux enlever cette espace ^??
Merci d'avance si vous avez des idées
Messages postés
8
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
1 juin 2008

Il y a une erreur dans mon dernier message c'est


#Axell(espace)# => #Axell#
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Utilise trim().
Messages postés
8
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
1 juin 2008

$str=trim($liste_classe_array[$i],' ');
$str=trim($liste_classe_array[$i],'\n ');
ne changent rien
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Non non!!
$str = trim($str);
$liste_classe_array[$i] = trim($liste_classe_array[$i]);
if($str === $liste_classe_array[$i]) {
}