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 — Find position of last occurrence of a string in a string
Performs a multibyte safe
strrpos() operation based on the
number of characters. needle
position is
counted from the beginning of
haystack
. First character's position is
0. Second character position is 1.
haystack
The string being checked, for the last occurrence
of needle
needle
The string to find in haystack
.
offset
encoding
Der Parameter encoding
legt die Zeichenkodierung fest. Wird er nicht übergeben, so wird die interne
Zeichenkodierung genutzt.
Returns the numeric position of
the last occurrence of needle
in the
haystack
string. If
needle
is not found, it returns false
.
Version | Beschreibung |
---|---|
8.0.0 |
needle akzeptiert nun eine leere Zeichenkette.
|
8.0.0 |
Passing the encoding as the third argument
instead of an offset has been removed.
|
8.0.0 |
encoding ist nun nullable (akzeptiert den
null -Wert).
|
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)
?>