(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)