(PHP 4, PHP 5)
strpos — Trouve la position d'un caractère dans une chaîne
Retourne la position numérique de la première occurrence de needle dans la chaîne de caractères haystack. Contrairement à la fonction strrpos() avant PHP 5, celle-ci peut prendre une chaîne de caractères complète comme paramètre needle et cette chaîne sera utilisée en totalité.
La chaîne dans laquelle on doit chercher.
Si needle n'est pas une chaîne, il est converti en entier, et utilisé comme caractère de code ASCII correspondant.
Le paramètre optionnel offset vous permet de spécifier à partir de quel caractère dans haystack vous souhaitez commencer la recherche. La position retournée sera toujours relative au début de la chaîne haystack.
Retourne la position, sous la forme d'un entier. Si needle n'est pas trouvé, strpos() retournera FALSE.
Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.
Exemple #1 Avec ===
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Notez notre utilisation de ===. == ne fonctionnerait pas comme attendu
// car la position de 'a' est la 0-ième (premier) caractère.
if ($pos === false) {
echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'";
} else {
echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'";
echo " et débute à la position $pos";
}
?>
Exemple #2 Avec !==
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Notez notre utilisation de !==. != ne fonctionnerait pas comme attendu
// car la position de 'a' est la 0-ième (premier) caractère.
if ($pos !== false) {
echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'";
echo " et débute à la position $pos";
} else {
echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'";
}
?>
Exemple #3 Utiliser un offset
<?php
// Nous pouvons chercher le caractère, et ignorer tout ce qui est avant l'offset
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, non pas 0
?>
Note: Cette fonction gère les chaînes binaires.