PHP 8.4.1 Released!

mb_strrpos

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strrpos Ищет позицию последнего вхождения подстроки в строку

Описание

mb_strrpos(
    string $haystack,
    string $needle,
    int $offset = 0,
    ?string $encoding = null
): int|false

Выполняет безопасную многобайтовую операцию strrpos(), основываясь на количестве символов. Позиция подстроки needle рассчитывается с начала строки haystack. Позиция первого символа — 0. Второго символа — 1.

Список параметров

haystack

Строка (string), в которой функция будет искать последнее вхождение подстроки needle.

needle

Подстрока (string) для поиска в строке haystack.

offset
Может быть указан для начала поиска произвольного количества символов в строке (string). Отрицательные значения прекратят поиск в произвольной точке до конца строки (string).
encoding

Параметр encoding устанавливает кодировку символов. Функция установит для параметра значение внутренней кодировки символов, если аргумент не передали или передали значение null.

Возвращаемые значения

Возвращает позицию последнего вхождения подстроки needle в строку (string) haystack либо false, если подстрока needle не найдена.

Список изменений

Версия Описание
8.0.0 needle теперь принимает пустую строку.
8.0.0 Передача кодировки символов encoding в качестве третьего аргумента вместо offset была удалена.
8.0.0 Теперь параметр encoding принимает значение null.

Смотрите также

  • mb_strpos() - Ищет позицию первого вхождения подстроки в строку
  • mb_internal_encoding() - Устанавливает или получает внутреннюю кодировку символов файла скрипта
  • strrpos() - Возвращает позицию последнего вхождения подстроки в строке

Добавить

Примечания пользователей 2 notes

up
2
Anonymous
18 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.
up
1
Anonymous
9 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)
?>
To Top