(PHP 4, PHP 5, PHP 7)
strrpos — Возвращает позицию последнего вхождения подстроки в строке
Описание
$haystack
, string $needle
[, int $offset
= 0 ] )Ищет позицию последнего вхождения подстроки needle
в строку haystack
.
Список параметров
haystack
-
Строка, в которой производится поиск.
needle
-
Если
needle
не является строкой, то он приводится к целому и трактуется как код символа. offset
-
Если указан, то поиск начнется с данного количества символов с начала строки. Если передано отрицательное значение, поиск начнется с указанного количества символов от конца строки и будет производится в обратном направлении.
Возвращаемые значения
Возвращает номер позиции последнего вхождения needle относительно начала строки haystack
(независимо от направления поиска и смещения (offset)). Также обратите внимание на то, что позиция строки отсчитывается от 0, а не от 1.
Возвращает FALSE
, если искомая строка не найдена.
Список изменений
Версия | Описание |
---|---|
5.0.0 | Параметр needle может быть строкой из более чем одного символа. |
Примеры
Пример #1 Проверка существования искомой строки
Легко ошибиться и перепутать возвращаемые значения в случаях «символ найден в нулевой позиции» и «символ не найден». Вот так можно узнать разницу:
<?php $pos = strrpos($mystring, "b"); if ($pos === false) { // обратите внимание: три знака равенства // не найдено... } ?>
Пример #2 Поиск со смещением
<?php $foo = "0123456789a123456789b123456789c"; var_dump(strrpos($foo, '7', -5)); // Поиск происходит в обратном направлении и // начинается с пятой позиции с конца. Результат: int(17) var_dump(strrpos($foo, '7', 20)); // Начинает поиск с 20 позиции в строке. // Результат: int(27) var_dump(strrpos($foo, '7', 28)); // Результат: bool(false) ?>