Шаг 72.
Основы языка PHP.
Строки. Операции с отдельными символами строки. Функции strpos() и strrpos()

    На этом шаге мы рассмотрим функции, используемые для нахождения позиций символов в строке.

    Рассмотрим способы получения позиции символов при помощи функций strpos() и strrpos().

    Функция strpos() возвращает позицию первого вхождения нужного символа. Приведем синтаксис функции strpos():


Рис.1. Общий вид функции strpos()

    Параметр строка устанавливает строку, в которой будет осуществляться поиск указанного символа. Сам символ устанавливается параметром символ.

    Если в качестве параметра символ указывается строка, то использован будет только первый символ этой строки.

    Если символ не найден, то возвращается false. Если второй параметр не является символом или строкой, то он рассматривается как десятичное число.

    Третий параметр количество является необязательным. Он показывает, с какой позиции будет производиться поиск указанного символа. В этом случае длина, возвращенная функцией strpos(), все равно будет отсчитываться с начала строки. Приведем пример:

<?php
$string = "Мама купила красную шапку";
$strnew = strpos ($string,"п");
$strnew1 = strpos($string,"п",10);
echo "Первоначальная строка: ".$string."<br>";
echo "Количество символов, начиная с начала строки до первого символа п: ".
$strnew."<br>";
echo "Количество символов, начиная с начала строки до первого символа п, 
пропустив при этом первых 10 символов: ".$strnew1."<br>";
?>
Текст этой программы можно взять здесь.

    В первом случае результатом выполнения функции будет количество символов, отсчитанных с начала указанной строки, при этом третий параметр указан не был. Во втором случае был указан третий параметр, в результате чего поиск символа "п" будет начинаться не с начала строки, а с десятого символа. Поиск будет осуществляться до первого символа "п", после чего функция подсчитает количество символов до найденного символа.

    Результат выполнения этой программы смотрите на рисунке 2.


Рис.2. Пример применения функции strpos()

    Функция strrpos() по принципу работы аналогична функции strpos(), единственное ее отличие заключается в том, что функция strrpos() находит позицию последнего появления нужного нам символа в строке. Функция имеет следующий синтаксис:


Рис.3. Общий вид функции strrpos()

    Как было уже сказано, strrpos() возвращает номер позиции последнего появления символа символ в строке строка.

    На следующем шаге мы рассмотрим функции chr() и ord().




Предыдущий шаг Содержание Следующий шаг