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
$ext
= strrchr('somefile.txt', '.');
echo
"Расширение файла: $ext \n";
$ext = $ext ? strtolower(substr($ext, 1)) : '';
echo
"Расширение файла: $ext";
?>

Вывод приведённого примера будет похож на:

Расширение файла: .txt Расширение файла: txt

Примечания

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

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

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