(PHP 5, PHP 7, PHP 8)
strripos — Возвращает позицию последнего вхождения подстроки без учёта регистра
Ищет позицию последнего вхождения подстроки 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
, так и нелогическое значение, которое приводится к false
. Прочитайте раздел «Логический тип», чтобы получить дополнительную информацию. Используйте оператор === для проверки значения, которое возвращает функция.
Версия | Описание |
---|---|
8.2.0 | Приведение к единому регистру больше не зависит от настроек региональных установок, которые установили функцией setlocale(). Преобразовываются только символы кодировки ASCII. Байты, которые не относятся к кодировке ASCII, будут сравниваться по значению байта. |
8.0.0 | Параметр needle теперь разрешает пустую строку. |
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)