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 — Ищет позицию последнего вхождения подстроки в строку
Выполняет безопасную многобайтовую операцию
strrpos(), основываясь на количестве символов.
Позиция подстроки needle
рассчитывается с начала строки haystack
. Позиция
первого символа — 0. Второго символа — 1.
haystack
Строка (string), в которой функция будет искать последнее вхождение
подстроки needle
.
needle
Подстрока (string) для поиска
в строке haystack
.
offset
encoding
Параметр encoding
—
это кодировка символов. Если он опущен или равен null
, для него будет установлена внутренняя кодировка символов.
Возвращает позицию последнего вхождения подстроки needle
в строку (string) haystack
либо false
,
если подстрока needle
не найдена.
Версия | Описание |
---|---|
8.0.0 |
needle теперь принимает пустую строку.
|
8.0.0 |
Передача кодировки символов encoding в качестве третьего аргумента
вместо offset была удалена.
|
8.0.0 |
Теперь параметр encoding может принимать значение null .
|
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)
?>