(PHP 4, PHP 5, PHP 7, PHP 8)
strrchr — Находит последнее вхождение символа в строке
$haystack
, string $needle
, bool $before_needle
= false
): string|false
Возвращает подстроку строки haystack
, начиная с
последнего вхождения needle
до конца строки.
haystack
Строка, в которой производится поиск
needle
Если needle
состоит более чем из
одного символа, используется только первый символ. Это поведение
отличается от strstr().
До PHP 8.0.0, если параметр needle
не является строкой,
он преобразуется в целое число и трактуется как код символа.
Это поведение устарело с PHP 7.3.0, и полагаться на него крайне не рекомендуется.
В зависимости от предполагаемого поведения,
параметр needle
должен быть либо явно приведён к строке,
либо должен быть выполнен явный вызов chr().
before_needle
Если true
, то функция strrchr() возвращает часть
параметра haystack
перед последним вхождением
параметра needle
(без учёта needle).
Функция возвращает фрагмент строки, или false
, если подстрока
needle
не найдена.
Версия | Описание |
---|---|
8.3.0 |
Добавлен параметр before_needle .
|
8.0.0 |
Параметр needle теперь допускает пустую строку.
|
8.0.0 |
Передача целого числа (int) в needle больше не поддерживается.
|
7.3.0 |
Передача целого числа (int) в needle объявлена устаревшей.
|
Пример #1 Пример использования strrchr()
<?php
// получить последнюю директорию из $PATH
$dir = substr(strrchr($PATH, ":"), 1);
// получить все после последнего перевода строки
$text = "Line 1\nLine 2\nLine 3";
$last = substr(strrchr($text, 10), 1 );
?>
Замечание: Эта функция безопасна для обработки данных в двоичной форме.