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)
mb_strrpos — Find position of last occurrence of a string in a string
$haystack
, string $needle
[, int $offset = 0
[, string|null $encoding = null
]] ) : int|false
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.
offsetencoding
Parametrul encoding reprezintă codificarea caracterelor.
Dacă el este omis, va fi utilizată valoarea internă a codificării caracterelor.
Returns the numeric position of
the last occurrence of needle in the
haystack string. If
needle is not found, it returns false.
Notă: The
encodingparameter was moved from the third position to the fourth in PHP 5.2.0. For backward compatibility,encodingcan be specified as the third parameter, but doing so is deprecated and will be removed in the future.
| Versiune | Descriere |
|---|---|
| 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)
?>