(PHP 4, PHP 5, PHP 7)

strrpos — Возвращает позицию последнего вхождения подстроки в строке

Описание

int strrpos ( string $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)
?>