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() - Возвращает позицию последнего вхождения подстроки в строке