(PHP 4, PHP 5)
strrpos — Cherche la position de la dernière occurrence d'une sous-chaine dans une chaîne
$haystack
, string $needle
[, int $offset
= 0
] )
Cherche la position numérique de la dernière occurrence de
needle
dans la chaîne haystack
.
haystack
La chaîne dans laquelle chercher.
needle
Si needle
n'est pas une chaîne de caractères,
il sera converti en un entier et utilisé comme valeur
ordinale du caractère.
offset
Si spécifié, la recherche commencera à ce nombre de caractères, compté depuis le début de la chaîne. Si la valeur est négative, la recherche commencera depuis ce nombre de caractères, depuis la fin de la chaîne, en cherchant en arrière.
Retourne la position à laquelle l'occurrence a été trouvée
relativement au debut de la chaîne haystack
(indépendamment de la direction de recherche ou de l'offset).
Retourne FALSE
si l'occurrence n'a pas été trouvée.
Cette fonction peut
retourner FALSE
, mais elle peut aussi retourner une valeur équivalent à
FALSE
. 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.
Version | Description |
---|---|
5.0.0 |
Le paramètre needle peut maintenant
être une chaîne de caractères composée de plus d'un caractère.
|
5.0.0 |
Le paramètre offset a été introduit.
|
Exemple #1 Vérifie si une occurrence est trouvée dans une chaîne
Il est facile de faire une erreur quant à la valeur retournée entre "caractère trouvé à la position 0" et "caractère non trouvé". Voici comme détecter cette différence :
<?php
$pos = strrpos($mystring, "b");
if ($pos === false) { // note : 3 signes "="
// non trouvé ...
}
?>
Exemple #2 Recherche avec positions
<?php
$foo = "0123456789a123456789b123456789c";
var_dump(strrpos($foo, '7', -5)); // Commence à cherche en arrière de 5 positions
// depuis la fin. Résultat : int(17)
var_dump(strrpos($foo, '7', 20)); // Commence à chercher à partir de la 20ème positions
// dansla chaîne. Résultat : int(27)
var_dump(strrpos($foo, '7', 28)); // Résultat : bool(false)
?>