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
The encoding
parameter is the character encoding. If it is omitted or null
, the internal character
encoding value will be used.
Returns the numeric position of
the last occurrence of needle
in the
haystack
string. If
needle
is not found, it returns false
.
Version | Description |
---|---|
8.0.0 |
needle now accepts an empty string.
|
8.0.0 |
Passing the encoding as the third argument
instead of an offset has been removed.
|
8.0.0 |
encoding is nullable now.
|
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)
?>