strripos

(PHP 5, PHP 7)

strriposВозвращает позицию последнего вхождения подстроки без учета регистра

Описание

strripos ( string $haystack , string $needle , int $offset = 0 ) : int|false

Ищет позицию последнего вхождения подстроки needle в строку haystack.

В отличие от strrpos(), strripos() не учитывает регистр символов.

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

haystack

Строка, в которой производится поиск.

needle

До PHP 8.0.0, если параметр needle не является строкой, он преобразуется в целое число и трактуется как код символа. Это поведение устарело с PHP 7.3.0, и полагаться на него крайне не рекомендуется. В зависимости от предполагаемого поведения, параметр needle должен быть либо явно приведен к строке, либо должен быть выполнен явный вызов chr().

offset

Если равно или больше ноля, то поиск будет идти слева направо и, при этом, будут пропущены первые offset байт строки haystack.

Если меньше ноля, то поиск будет идти справа налево. При этом будут отброшены offset байт с конца haystack и найдено первое найденное вхождение needle.

Замечание:

Фактически это будет последнее вхождение needle без учета offset последних байт.

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

Возвращает номер позиции последнего вхождения needle относительно начала строки haystack (независимо от направления поиска и смещения (offset)).

Замечание: Позиция в строке строки отсчитывается от 0, а не от 1.

Возвращает false, если искомая строка не найдена.

Внимание

Эта функция может возвращать как логическое значение false, так и значение не типа boolean, которое приводится к false. За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

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

Версия Описание
8.0.0 Передача целого числа (int) в needle больше не поддерживается.
7.3.0 Передача целого числа (int) в needle объявлена устаревшей.

Примеры

Пример #1 Пример использования strripos()

<?php
$haystack 
'ababcd';
$needle   'aB';

$pos      strripos($haystack$needle);

if (
$pos === false) {
    echo 
"К сожалению, ($needle) не найдена в ($haystack)";
} else {
    echo 
"Поздравляем!\n";
    echo 
"Последнее вхождение ($needle) найдено в ($haystack) в позиции ($pos)";
}
?>

Результат выполнения данного примера:

   Поздравляем!
   Последнее вхождение (aB) найдено в (ababcd) в позиции (2)

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

  • strpos() - Возвращает позицию первого вхождения подстроки
  • stripos() - Возвращает позицию первого вхождения подстроки без учета регистра
  • strrpos() - Возвращает позицию последнего вхождения подстроки в строке
  • strrchr() - Находит последнее вхождение символа в строке
  • stristr() - Регистронезависимый вариант функции strstr
  • substr() - Возвращает подстроку