Функция strpos

Функция strpos возвращает позицию первого вхождения подстроки в другую строку. Первым параметром функция принимает строку, в которой осуществляется поиск, вторым параметром - подстроку, которую следует искать.

Результатом выполнения функции будет позиция первого символа найденной подстроки, а если такая подстрока не будет найдена - то false. Учтите, что нумерация идет с нуля и, если подстрока находится в начале строки, то результатом функции будет 0. Это может привести к ошибкам, если сделать, к примеру, так: if(strpos()) - в этом случае и 0, и false приведут к одинаковому результату, чего бы нам не хотелось бы.

По умолчанию функция ищет с начала строки до первого совпадения. Начало поиска можно регулировать третьим необязательным параметром - если он задан, то поиск начнется не с начала строки, а с указанного места.

Есть также функция stripos, которая делает тоже самое, но без учета регистра.

Синтаксис

strpos(где ищем, что ищем, [откуда искать]);

Пример

В данном примере функция вернет позицию первого символа 'с'. Он занимает позицию 2, так как отсчет начинается с 0:

<?php echo strpos('abcde abcde', 'c'); ?>

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

2

Пример

В данном примере задан третий параметр и поэтому поиск начнется с третьей позиции, в этом случае функция найдет уже второй символ 'c' и выведет его позицию - 8:

<?php echo strpos('abcde abcde', 'c', 3); ?>

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

8

Пример

Проверим, что строка начинается на 'http://' (обратите внимание на сравнение по ===, а не по ==):

<?php if(strpos('http://site.ru', 'http://') === 0) { echo 'да'; } else { echo 'нет'; } ?>

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

'да'

Смотрите также

  • функцию strrpos,
    которая возвращает позицию последнего вхождения подстроки