2011-04-25 3 views
6

pour mes besoins, je l'ai fait:Rechercher si une chaîne existe dans une autre chaîne

<?php 
$mystring = 'Gazole,'; 
$findme = 'Sans Plomb 95'; 
$pos = strpos($mystring, $findme); 

if ($pos >= 0) { 
    echo "The string '$findme' was found in the string '$mystring'"; 
    echo " and exists at position $pos"; 
} else { 
    echo "The string '$findme' was not found in the string '$mystring'"; 
} 
?> 

Cependant, il exécute toujours cette branche:

echo "The string '$findme' was found in the string '$mystring'"; 
echo " and exists at position $pos"; 

bien que la chaîne que je suis la recherche de n ' t existe.

S'il vous plaît aider, thx à l'avance :))

Répondre

14

La bonne façon de le faire est la suivante:

if ($pos !== false) { 
    echo "The string '$findme' was found in the string '$mystring'"; 
    echo " and exists at position $pos"; 
} else { 
    echo "The string '$findme' was not found in the string '$mystring'"; 
} 

Voir la giant red warning dans la documentation.

3

strpos renvoie un booléen false dans le cas où la chaîne n'a pas été trouvée. Votre test devrait être $pos !== false plutôt que $pos >= 0.

Notez que les opérateurs de comparaison standard ne prennent pas en compte le type des opérandes, de sorte que false est forcé à 0. Les opérateurs === et !== donnent true uniquement si les types et les valeurs des opérandes correspondent.

1

strpos() retourne FALSE si la chaîne n'a pas été trouvé. Lorsque vous vérifiez $ pos> = 0, vous activez cette valeur FALSE.

Essayez ceci:

<?php 
$mystring = 'Gazole,'; 
$findme = 'Sans Plomb 95'; 
$pos = strpos($mystring, $findme); 


if ($pos !== false) { 
    echo "The string '$findme' was found in the string '$mystring'"; 
    echo " and exists at position $pos"; 
} else { 
     echo "The string '$findme' was not found in the string '$mystring'"; 

} 
?> 
1

méthode salut malek de strpos en php retourne une valeur booléenne de la valeur false lorsque la chaîne est introuvable et si trouvé retournera la position int.

Envoyer cette Link to study about strpos

0
if (strpos($mystring, $findme) !== false) { 
    echo 'true'; 
} 
Questions connexes