strpos

(PHP 3, PHP 4 , PHP 5)

strpos --  Trouve la position d'un caractère dans une chaîne

Description

int strpos ( string haystack, mixed needle [, int offset] )

strpos() retourne la position numérique de la première occurrence de needle dans la chaîne de caractères haystack. Contrairement à la fonction strrpos(), 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é.

Si needle n'est pas trouvée, la fonction retourne FALSE.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE, utilisable dans une condition if simple. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemple 1. Exemple avec strpos()

<?php
$mystring
= 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Notez l'utilisation de ===.  Un simple == ne donnerait pas le résultat escompté
// car la lettre 'a' est à la position 0 (la première).
if ($pos === false) {
    echo
"La chaîne '$findme' n'a pas été trouvée dans la chaîne '$mystring'";
} else {
    echo
"La chaîne '$findme' a été trouvée dans la chaîne '$mystring'";
    echo
" et à la position $pos";
}
  
// On peut chercher le caractère, en ignorant tout avant une position
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, pas 0
?>

Si needle n'est pas une chaîne, elle est convertie 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.

Voir aussi strrpos(), stripos(), strripos(), strrchr(), substr(), stristr() et strstr().