strpos
Находит позицию первого вхождения подстроки.
Синтаксис
strpos(string $haystack, string $needle, int $offset = 0): int|falseПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $haystack | string | Строка, в которой ищут. |
| $needle | string | Искомая подстрока. |
| $offset | int | Необязательный. С какой позиции начинать поиск. |
Возвращаемое значение
int|falseПозиция в байтах или `false`, если подстроки нет.
Примеры
Подстрока найдена и не найдена:
<?php
var_dump(strpos('hello world', 'world'));
var_dump(strpos('hello world', 'php'));Результат:
int(6)
bool(false)Позиция 0 — это не false, поэтому сравнивают строго:
<?php
$position = strpos('hello', 'he');
var_dump($position === false);
var_dump($position == false);Результат:
bool(false)
bool(true)Примечания
Если нужно только узнать, есть ли подстрока, используйте str_contains() — с ней нельзя ошибиться в сравнении.
См. также
- mb_strpos — Находит позицию первого вхождения подстроки.
- str_contains — Проверяет, содержит ли строка заданную подстроку.
- substr — Возвращает часть строки, считая в байтах.
Вопросы и ответы по теме
В учебнике
- Строки — Работа со строками в PHP — кавычки, склейка, длина, поиск, замена и функции для кириллицы.