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)
?>