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() - Повертає підрядок