mb_strrpos throws a warning if $haystack is empty.
strrpos simply returns FALSE.
This is something to be wary of if overloading the mb functions.
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_strrpos — Repère la dernière occurrence d'un caractère dans une chaîne
$haystack
, string $needle
, int $offset
= 0
, string|null $encoding
= null
) : int|false
mb_strrpos() effectue une recherche de type
strpos(), en tenant compte des caractères
multi-octets. La position de needle
est comptée
à partir du début de la chaîne haystack
: les
positions commencent à 0.
haystack
La chaîne à analyser.
needle
La chaîne à chercher dans la chaîne haystack
.
offset
encoding
Le paramètre encoding
est l'encodage des caractères. S'il est omis ou null
, l'encodage de caractères interne
sera utilisé.
Retourne la position numérique de
la dernière occurrence du caractère needle
dans la
chaîne haystack
. Si needle
est
introuvable, mb_strrpos() retourne false
.
Note: Le paramètre
encoding
a été déplacé de la troisième position à la quatrième position depuis PHP 5.2.0. Pour des raisons de compatibilité ascendante,encoding
peut être spécifié en tant que troisième paramètre, mais ce comportement est obsolète et peut être supprimé prochainement.
Version | Description |
---|---|
8.0.0 |
encoding est désormais nullable.
|
mb_strrpos throws a warning if $haystack is empty.
strrpos simply returns FALSE.
This is something to be wary of if overloading the mb functions.
"Negative values will stop searching at an arbitrary point prior to the end of the string. " ist misleading.
The needle may not fully part of searchrange, defined by a negative offset.
A negative offsets marks the last byte, where a search could start.
<?php
$test = "Hallo, Herr Gött";
var_dump(strlen($test)); // int(17)
var_dump(mb_strrpos($test,'ött',13)); // int(13)
var_dump(mb_strrpos($test,'ött',-4)); // int(13) 17-4 = 13
var_dump(mb_strrpos($test,'ött',-5)); // bool(false)
?>