betterCode() PHP 2025

mb_strrchr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_strrchr Возвращает часть строки до или после последнего вхождения подстроки

Описание

mb_strrchr(
    string $haystack,
    string $needle,
    bool $before_needle = false,
    ?string $encoding = null
): string|false

Функция mb_strrchr() ищет в строке haystack последнее вхождение подстроки needle и возвращает часть строки haystack. Функция возвращает значение false, если строка не содержит подстроку needle.

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

haystack

Строка, часть которой требуется получить — до или после последнего вхождения подстроки needle.

needle

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

before_needle

Параметр определяет, какую часть строки haystack возвращает функция. При установке значения true функция возвращает часть строки haystack от начала до последнего вхождения подстроки needle. При установке значения false возвращается часть строки haystack от последнего вхождения подстроки needle до конца строки.

encoding

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

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

Функция возвращает часть строки haystack или значение false, если строка не содержит подстроку needle.

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

Версия Описание
8.0.0 needle теперь принимает пустую строку.
8.0.0 Параметр encoding теперь принимает значение null.

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

  • strrchr() - Находит последнее вхождение символа в строке
  • mb_strstr() - Возвращает часть строки до или после первого вхождения подстроки
  • mb_strrichr() - Возвращает часть строки до или после последнего вхождения подстроки, без учёта регистра

Добавить

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

up
0
Anonymous
2 years ago
needle: /
string: o/a/i

if before_needle is 1 then needle is excluded: "o/a"
if before_needle is false then needle is included: "/i"

as code:

$str="o/a/i";
$cs="/";

echo "if before_needle == 1 then needle is excluded"."\n";
$str="o/a/i";
$cs="/";
echo mb_strrchr ($str,$cs,1)."\n";

echo "if before_needle == false then needle is included"."\n";
$str="o/a/i";
$cs="/";
echo mb_strrchr ($str,$cs,0)."\n";
To Top