Forum und email

strpos

(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() 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é.

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

Warning

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.

Note: Cette fonction gère les chaînes binaires.

Example#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, 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 .

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