STRPOS |
Position dans la chaine de caractères |
---|---|
PHP 4+ |
Syntaxe
function strpos($haystack,$needle); |
function strpos($haystack,$needle,$offset); |
Paramètres
Nom | Description |
---|---|
$haystack | Ce paramètre permet d'indiquer la chaîne de caractères dans lequel la recherche doit être effectué. |
$needle | Ce paramètre permet d'indiquer le caractère ou l'entier du code ASCII à rechercher. |
$offset | Ce paramètre permet d'indiquer la position de début où commence la recherche. Par défaut, ce paramètre vaut 0. |
Retour
Valeur | Description |
---|---|
FALSE | Cette valeur permet d'indiquer que le caractère n'a pas été trouvé dans la chaîne de caractères. Il faut utilisé l'opérateur «===» pour effectuer une comparaison de cette valeur |
0 ou supérieur | Ces valeurs indique la position du caractère dans la chaîne de caractères. |
Description
Cette fonction permet de rechercher la position d'un caractère dans une chaîne de caractères.
Remarque
- Il ne faut jamais utiliser l'opérateur «==» dans une comparaison de la fonction strpos, car si la sous-chaine de caractères est trouvé au début il retournera 0 et si elle n'est pas trouvé, elle retournera également false. L'ennui c'est que 0 et false ont la même valeur avec l'opérateur «==». Il faut donc utiliser l'opérateur «===» pour pouvoir tester correctement un "false" dans un test.
Bonnes pratiques
L'exemple suivant permet de démontrer que la lettre «a» n'est pas trouvé dans un test avec un opérateur «==» :
on obtiendra le résultat suivant :
aucun résultat trouvéPar contre, si on utilise l'opérateur «===», il trouvera la lettre «a» et le programme réagira normalement :
on obtiendra le résultat suivant :
Le "a" trouvéExemples
L'exemple permet de vérifier la présence du mot «Merci» ou «Thank» dans la chaîne de caractères «Ceci est un message avec une le mot Merci d'inclus dedans !» :
Essayer maintenant !
on obtiendra le résultat suivant :
PRESENTVoici un exemple d'une utilisation typique de cette fonction :
Essayer maintenant !
- <?php
- echo "strpos(\"Sylvain Maltais\",\"Mal\")= " . strpos("Sylvain Maltais","Mal") . "<br />";
- echo "strpos(\"Sylvain Maltais\",\"a\") = " . strpos("Sylvain Maltais","a") . "<br />";
- echo "strpos(\"Sylvain Maltais\",\"a\",1) = " . strpos("Sylvain Maltais","a",1) . "<br />";
- echo "strpos(\"Sylvain Maltais\",\"a\",8) = " . strpos("Sylvain Maltais","a",8) . "<br />";
- ?>
on obtiendra le résultat suivant :
strpos("Sylvain Maltais","Mal")= 8strpos("Sylvain Maltais","a") = 4
strpos("Sylvain Maltais","a",1) = 4
strpos("Sylvain Maltais","a",8) = 9
Dernière mise à jour : Mardi, le 6 août 2019