(PHP 3, PHP 4, PHP 5)
strrchr — Находит последнее вхождение подстроки
Описание
Возвращает подстроку строки haystack начиная с последнего вхождения needle до конца строки.
Если подстрока needle не найдена, возвращает FALSE .
В отличие от strchr() , если needle состоит более чем из одного символа, используется только первый символ.
Если needle не является строкой, он приводится к целому и трактуется как код символа.
Пример 1. Пример использования strrchr()
С версии PHP 4.3.0 strrchr() безопасна для обработки данных в двоичной форме.
Смотрите также описание функций strstr() , substr() и stristr() .
(PHP 4, PHP 5, PHP 7)
strrpos — Возвращает позицию последнего вхождения подстроки в строке
Описание
Ищет позицию последнего вхождения подстроки needle в строку haystack .
Список параметров
Строка, в которой производится поиск.
Если needle не является строкой, то он приводится к целому и трактуется как код символа.
Если указан, то поиск начнется с данного количества символов с начала строки. Если передано отрицательное значение, поиск начнется с указанного количества символов от конца строки, но по прежнему будет производится поиск последнего вхождения.
Возвращаемые значения
Возвращает номер позиции последнего вхождения needle относительно начала строки haystack (независимо от направления поиска и смещения (offset)). Также обратите внимание на то, что позиция строки отсчитывается от 0, а не от 1.
Возвращает FALSE , если искомая строка не найдена.
Список изменений
Версия | Описание |
---|---|
5.0.0 | Параметр needle может быть строкой из более чем одного символа. |
Примеры
Пример #1 Проверка существования искомой строки
Легко ошибиться и перепутать возвращаемые значения в случаях "символ найден в нулевой позиции" и "символ не найден". Вот так можно узнать разницу:
Пример #2 Поиск со смещением
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)
?>
Смотрите также
- strpos() — Возвращает позицию первого вхождения подстроки
- stripos() — Возвращает позицию первого вхождения подстроки без учета регистра
- strripos() — Возвращает позицию последнего вхождения подстроки без учета регистра
- strrchr() — Находит последнее вхождение символа в строке
- substr() — Возвращает подстроку
Предположим, что нам нужно найти подстроку в строке при помощи php.
Для решения этой задачи подходят разные инструменты.
Поиск подстроки с использованием функции strpos
Функция strpos возвращает позицию первого вхождения подстроки.
Функция возвращает либо порядковый номер первого символа подстроки в исходной строке, либо false, в случае если ничего не найдено.
При использовании этой функции, следует уделить особое внимание тому, что она может вернуть 0, в качестве результата, что говорит о нахождении подстроки в самом начале исходной строки. Поэтому нужно использовать троекратный знак равно $pos === false , для проверки успешности поиска.
Остальные "фишки" операторов сравнения описаны здесь: операторы сравнения.
Для этой функции существует регистронезависимый аналог: stripos
Еще одна функция для этой задачи: strrpos. Она находит последнее вхождение подстроки.
У нее, разумеется, тоже имеется регистронезависимый вариант: strripos
Если функция strpos не подходит для вашей цели, то найдите другой инструмент.
Для работы со строками существует также масса функций, о существовании которых необходимо знать: функции для работы со строками.
Поиск подстроки при помощи функции preg_match
Эта функция производит поиск подстроки при помощи регулярного выражения.
Регулярное выражение — это шаблон, который сравнивается со строкой. Под один шаблон может подходить сразу множество разных строк.
Они пригодятся если вам нужно производить поиск не по конкретной подстроке, а найти все строки, обладающие свойствами, описанными при помощи регулярного выражения. Знание этой темы сильно расширяет ваши возможности в работе со строками.
Начать рекомендую с этой статьи: регулярные выражения.