PHP: Hypertext Preprocessor (original) (raw)
mb_strrpos
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_strrpos — Find position of last occurrence of a string in a string
Description
Parameters
haystack
The string being checked, for the last occurrence of needle
needle
The string to find in haystack
.
offset
May be specified to begin searching an arbitrary number of characters into the string. Negative values will stop searching at an arbitrary point prior to the end of the string.
encoding
The encoding
parameter is the character encoding. If it is omitted or [null](reserved.constants.php#constant.null)
, the internal character encoding value will be used.
Return Values
Returns the numeric position of the last occurrence of needle
in thehaystack
string. Ifneedle
is not found, it returns [false](reserved.constants.php#constant.false)
.
Changelog
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. |
See Also
- mb_strpos() - Find position of first occurrence of string in a string
- mb_internal_encoding() - Set/Get internal character encoding
- strrpos() - Find the position of the last occurrence of a substring in a string
Found A Problem?
19 years ago
`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.
`
10 years ago
"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) ?>