probleme de strstr ()

pandipanda
Invité n'ayant pas de compte PHPfrance

18 avr. 2006, 09:32

bonjour tlm,

je cherche dans la chaine xxx1xxxxx3xxxx4 le needle 4 avec strstr :
if(strstr($prefAff,$nom)== TRUE) { echo 'trouve';}
or cette fonction me retourne FALSE , quelqun pourrait il m expliquer pourquoi ???

Jib
Eléphanteau du PHP | 39 Messages

18 avr. 2006, 09:52

salut,
strstr() retourne une sous-chaîne de haystack, allant de la première occurrence de needle jusqu'à la fin de la chaîne.

Si needle est introuvable, strstr() retourne FALSE.
affiche les 2 variables pour voir de quoi elles ont l'air.[/quote]

Invité
Invité n'ayant pas de compte PHPfrance

18 avr. 2006, 09:58

xxx1xxxxx3xxxx4 le needle 4
8)

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

18 avr. 2006, 10:06

Ce qu'il nous faut (voire ce qu'il te faut ;)) c'est un echo de $prefAff et $nom dans ton code, car il n y a rien à redire à ton usage de strstr. Tu peux facilement le vérifier en remplaçant tes variables par leurs valeurs :
<?
if(strstr("xxx1xxxxx3xxxx4","4")== TRUE) 
  echo 'trouve';
// affiche "trouve"

echo strstr("xxx1xxxxx3xxxx4","4");
// affiche "4"
?>
C'est donc ailleurs qu'il faut aller chercher :)

pandipanda
Invité n'ayant pas de compte PHPfrance

18 avr. 2006, 10:20

j'ai trouvé :shock:
la syntaxe qui passe est la suivante :
if(strstr("$prefAff","$nom")== TRUE)
maudite quotes