(PHP 4, PHP 5, PHP 7)
strrpos — Cherche la position de la dernière occurrence d'une sous-chaîne dans une chaîne
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 charactères,
elle est convertie en un entier et appliqué en tant que valeur ordinal d'un charactère.
Ce comportement est obsolète à partir de PHP 7.3.0, et ce fier à celui-ci
est fortement déconseillée. En fonction du comportement attendu,
needle
doit être transtyper explicitement en une chaîne de charactère,
ou faire un appel explicite à chr() doit être exécuté.
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.
|
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)
?>