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

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

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

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

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

Синтаксис

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

Примеры

Пример

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

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

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

2

Пример

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

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

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

6

Пример

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

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

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

да