ProfiPHPProfiPHP
Категория: Функции обработки строк

Функция Strpos

Функция Strpos возвращает позицию первого вхождения подстроки.
mixed strpos( string $haystack, mixed $needle [, int $offset = 0 ] )
Функция Strpos ищет позицию первого вхождения подстроки Needle в строку Haystack.

Параметр Haystack являет собой строку, в которой производится поиск.

Если параметр Needle не является строкой, он приводится к целому и трактуется как код символа.

Если указан необязательный параметр Offset, то поиск будет начат с указанного количества символов с начала строки. Если задано отрицательное значение (начиная с PHP 7.1.0), отсчет позиции начала поиска будет произведен с конца строки.

Функция Strpos возвращает позицию, в которой находится искомая строка, относительно начала строки Haystack (независимо от смещения (Offset) или FALSE, если искомая строка не найдена. Также обратите внимание на то, что позиция строки отсчитывается от 0, а не от 1.

Данная функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE. За более подробной информацией обратитесь к разделу Двоичные данные (Boolean). Используйте оператор === для проверки значения, возвращаемого этой функцией.

Пример использования:
echo strpos( 'Example@Gmail.com', 'G' ); // 8
В операциях сравнения результата используйте ===, поскольку использование == может не дать правильного результата, что продемонстрировано в следующем примере:
$email = 'Example@Gmail.com';
$find = 'E';
$pos = strpos( $email, $find );
if ($pos === false) {
echo "Строка '$find' не найдена в строке '$email'";
} else {
echo "Строка '$find' найдена в строке '$email'";
echo " в позиции $pos";
}
Также дело обстоит и с оператором !==. Использование != может не дать верного результата, если поиск остановился на первом символе. Поскольку, так как 'E' находится в нулевой позиции. Выражение (0 != false) приводится к FALSE.
Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Добавить комментарий

Имя:
Текст комментария: