(PHP 4, PHP 5, PHP 7)
strpos — Возвращает позицию первого вхождения подстроки
Описание
mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
Ищет позицию первого вхождения подстроки needle
в строку haystack
.
Список параметров
haystack
-
Строка, в которой производится поиск
needle
-
Если
needle
не является строкой, он приводится к целому и трактуется как код символа. offset
-
Если этот параметр указан, то поиск будет начат с указанного количества символов с начала строки. Если задано отрицательное значение, отсчет позиции начала поиска будет произведен с конца строки.
Возвращаемые значения
Возвращает позицию, в которой находится искомая строка, относительно начала строки haystack
(независимо от смещения (offset). Также обратите внимание на то, что позиция строки отсчитывается от 0, а не от 1.
Возвращает FALSE
, если искомая строка не найдена.
Эта функция может возвращать как boolean FALSE
, так и не-boolean значение, которое приводится к FALSE
. За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.
Список изменений
Версия | Описание |
---|---|
7.1.0 | Добавлена поддержка отрицательных значений offset . |
Примеры
Пример #1 Использование ===
<?php $mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme); // Заметьте, что используется ===. Использование == не даст верного // результата, так как 'a' находится в нулевой позиции. if ($pos === false) { echo "Строка '$findme' не найдена в строке '$mystring'"; } else { echo "Строка '$findme' найдена в строке '$mystring'"; echo " в позиции $pos"; } ?>
Пример #2 Использование !==
<?php $mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme); // Оператор !== также можно использовать. Использование != не даст верного // результата, так как 'a' находится в нулевой позиции. Выражение (0 != false) приводится // к false. if ($pos !== false) { echo "Строка '$findme' найдена в строке '$mystring'"; echo " в позиции $pos"; } else { echo "Строка '$findme' не найдена в строке '$mystring'"; } ?>
Пример #3 Использование смещения
<?php // Можно искать символ, игнорируя символы до определенного смещения $newstring = 'abcdef abcdef'; $pos = strpos($newstring, 'a', 1); // $pos = 7, не 0 ?>
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.