strrpos

(PHP 4, PHP 5, PHP 7, PHP 8)

strrpos — Повертає позицію останнього входження підрядка у рядку

Опис

strrpos(string $haystack, string $needle, int $offset = 0): int|false

Ищет позицию последнего вхождения подстрокиneedle у рядок haystack

Список параметрів

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**так і значення не типу boolean, яке наводиться до false. За більш детальною інформацією зверніться до розділу Логічний типИспользуйтеоператор === для перевірки значення, яке повертається цією функцією.

список змін

ВерсияОпис
8.0.0Параметрneedle тепер допускає порожній рядок.
8.0.0Передача цілого числа (int) needleбільше не підтримується.
7.3.0Передача цілого числа (int) needle оголошено застарілою.

Приклади

Приклад #1 Перевірка існування рядка, що шукається

Легко помилитися і переплутати значення, що повертаються у випадках "символ знайдений в нульовій позиції" і "символ не знайдений". Ось так можна дізнатися різницю:

Loading...

Приклад #2 Пошук зі зміщенням

Loading...

Результат виконання наведеного прикладу:

int(0)
bool(false)
int(27)
bool(false)
int(17)
bool(false)
int(29)

Дивіться також

  • strpos() - Повертає позицію першого входження підрядка
  • stripos() - Повертає позицію першого входження підрядка без урахування регістру
  • strripos() - Повертає позицію останнього входження підрядка без урахування регістру
  • strrchr() - Знаходить останнє входження символу у рядку
  • substr() - Повертає підрядок