strrchr

(PHP 4, PHP 5, PHP 7, PHP 8)

strrchrНаходит последнее вхождение символа в строке

Описание

strrchr(string $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 );
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

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

  • strstr() - Находит первое вхождение подстроки
  • strrpos() - Возвращает позицию последнего вхождения подстроки в строке