(PHP 4, PHP 5)
strrpos — Возвращает позицию последнего вхождения подстроки в строке
$haystack
, string $needle
[, int $offset
= 0
] )
Ищет позицию последнего вхождения подстроки needle
в строку haystack
.
haystack
Строка, в которой производится поиск.
needle
Если needle
не является строкой,
то он приводится к целому и трактуется как код символа.
offset
Если указан, то поиск начнется с данного количества символов с начала строки. Если передано отрицательное значение, поиск начнется с указанного количества символов от конца строки, но по прежнему будет производится поиск последнего вхождения.
Возвращает номер позиции последнего вхождения needle
относительно начала строки haystack
(независимо от направления поиска и смещения (offset)).
Также обратите внимание на то, что позиция строки отсчитывается от 0, а не от 1.
Возвращает FALSE
, если искомая строка не найдена.
Версия | Описание |
---|---|
5.0.0 |
Параметр needle может быть строкой из
более чем одного символа.
|
5.0.0 |
Добавлен параметр offset .
|
Пример #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)
?>