Обработка строк
PHP Manual

strpos

(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
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

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


Обработка строк
PHP Manual