Comparaison d'une variable avec celle d'un tableau

Résolu
sebvcx Messages postés 8 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 1 juin 2008 - 1 juin 2008 à 04:27
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 1 juin 2008 à 15:56
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

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2008 à 09:33
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)
{
3
sebvcx Messages postés 8 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 1 juin 2008
1 juin 2008 à 13:47
$str=trim($liste_classe_array[$i]);

ça marche mille merci je débute en php
encore merci
3
sebvcx Messages postés 8 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 1 juin 2008
1 juin 2008 à 13:28
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
0
sebvcx Messages postés 8 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 1 juin 2008
1 juin 2008 à 13:30
Il y a une erreur dans mon dernier message c'est


#Axell(espace)# => #Axell#
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2008 à 13:32
Utilise trim().
0
sebvcx Messages postés 8 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 1 juin 2008
1 juin 2008 à 13:43
$str=trim($liste_classe_array[$i],' ');
$str=trim($liste_classe_array[$i],'\n ');
ne changent rien
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2008 à 15:56
Non non!!
$str = trim($str);
$liste_classe_array[$i] = trim($liste_classe_array[$i]);
if($str === $liste_classe_array[$i]) {
}
0
Rejoignez-nous