(PHP 5, PHP 7, PHP 8)
strripos — Cherche la position de la dernière occurrence d'une chaîne contenue dans une autre, de façon insensible à la casse
$haystack
, string $needle
, int $offset
= 0): int|false
Cherche la position numérique de la dernière occurrence de
needle
dans la chaîne de caractères
haystack
.
Contrairement à la fonction strrpos(), strripos() est insensible à la casse.
haystack
La chaîne dans laquelle on doit chercher.
needle
Antérieur à PHP 8.0.0, si needle
n'est pas une chaîne de caractères,
elle est convertie en un entier et appliqué en tant que valeur ordinal d'un caractère.
Ce comportement est obsolète à partir de PHP 7.3.0, et se fier à celui-ci
est fortement déconseillé. En fonction du comportement attendu,
needle
doit être transtypé explicitement en une chaîne de caractère,
ou un appel explicite à chr() doit être exécuté.
offset
Si zéro ou positif, la recherche est effectuée de gauche à droite
omettant les premiers offset
octets de
haystack
.
Si négatif, la recherche est effectuée de droite à gauche
omettant les derniers offset
octets de
haystack
et cherchant pour la première occurrence
de needle
.
Note:
Ceci est effectivement à la recherche de la dernière occurrence de
needle
avant les derniersoffset
octets.
Retourne la position de la dernière occurrence de needle
relativement au début de la chaîne haystack
(indépendamment de la direction de recherche ou de l'offset).
Note: Les positions des chaîne de caractères débutent à 0, et pas à 1.
Retourne false
si la needle
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 |
---|---|
8.2.0 | Le case folding ne dépend désormais plus de la locale définit avec setlocale(). Uniquement du case folding ASCII sera effectué. Les octets non-ASCII seront comparés par leur valeur d'octet. |
8.0.0 |
Passing an entier as needle is no longer supported.
|
7.3.0 |
Passer un entier comme before_needle a été
rendu obsolète.
|
Exemple #1 Exemple avec strripos()
<?php
$haystack = 'ababcd';
$needle = 'aB';
$pos = strripos($haystack, $needle);
if ($pos === false) {
echo "Désolé, impossible de trouver ($needle) dans ($haystack)";
} else {
echo "Félicitations !\n";
echo "Nous avons trouvé le dernier ($needle) dans ($haystack) à la position ($pos)";
}
?>
L'exemple ci-dessus va afficher :
Félicitations ! Nous avons trouvé le dernier (aB) dans (ababcd) à la position (2)