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 $encoding
= mb_internal_encoding()
]] )
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
encoding
인수는 문자 인코딩입니다. 생략하면, 내부 문자 인코딩값을 사용합니다.
Returns the numeric position of
the last occurrence of needle
in the
haystack
string. If
needle
is not found, it returns FALSE
.
버전 | 설명 |
---|---|
5.2.0 | Added the optional parameter offset . |
Note: The
encoding
parameter was moved from the third position to the fourth in PHP 5.2.0. For backward compatibility,encoding
can be specified as the third parameter, but doing so is deprecated and will be removed in the future.
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)
?>