Fonctions sur les chaînes de caractères
PHP Manual

strpos

(PHP 4, PHP 5)

strposTrouve la position d'un caractère dans une chaîne

Description

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

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

Liste de paramètres

haystack

La chaîne dans laquelle on doit chercher.

needle

Si needle n'est pas une chaîne, il est converti en entier, et utilisé comme caractère de code ASCII correspondant.

offset

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 .

Valeurs de retour

Retourne la position, sous la forme d'un entier. Si needle n'est pas trouvé, strpos() retournera FALSE.

Avertissement

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.

Exemples

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
?>

Notes

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

Voir aussi


Fonctions sur les chaînes de caractères
PHP Manual