Главная > РНР: настольная книга программиста
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

25.8. Операции поиска символов

Рассмотрим способы получения доступа к указанным символам в строке, а также получения позиции символов при помощи следующих функций:

• strpos(),

• strrpos().

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

int strpos (string haystack, string needle [, int offset])

Strpos () возвращает целое значение, равное количеству символов, отсчитанных с конца. Параметр haystack устанавливает строку, в которой будет осуществляться поиск указанного символа. Сам символ устанавливается параметром needle.

Следует отметить, что needle в этом случае может быть только единственным символом.

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

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

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

<?php

$string = "Мама купила красную шапку";

$strnew = strpos($string, "п");

$strnew1 = strpos ($string, "п", 10);

echo "Первоначальная строка: ".$string."<br><br>";

echo "Количество символов, начиная с начала строки до первого символа 'п': ".$strnew."<br><br>";

echo "Количество символов, начиная с начала строки до первого символа 'п', пропустив при этом первых 10 символов: ".$strnew1."<br><br>";

?>

Функция возвратит две строки, первая из них будет соответствовать количеству символов, отсчитанных с начала указанной строки, при этом третий параметр указан не был. Во втором случае был указан третий параметр, в результате чего поиск символа «п» будет начинаться не с начала строки, а с десятого символа. Далее будет осуществляться поиск до первого символа «п», после чего функция подсчитает количество символов до найденного символа «п» и произведет возврат строки, равной целому числу символов. В этом можно убедиться, обратившись к результату приведенного скрипта:

Первоначальная строка: Мама купила красную шапку

Количество символов, начиная с начала строки до первого символа 'п' : 7

Количество символов, начиная с начала строки до первого символа пропустив при этом первых 10 символов: 22

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

int strrpos(string haystack, char needle)

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

Описанные функции используются в РНР 3 и РНР 4.

Categories

1
Оглавление
email@scask.ru