mb_strpos
Находит позицию первого вхождения подстроки.
Доступно с: PHP 4
Синтаксис
mb_strpos(string $haystack, string $needle, int $offset = 0, ?string $encoding = null): int|falseПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $haystack | string | Строка, в которой выполняется поиск. |
| $needle | string | Подстрока, которую нужно найти. |
| $offset | int | С какой позиции начинать поиск. |
| $encoding | ?string | Кодировка. По умолчанию — внутренняя, обычно UTF-8. |
Возвращаемое значение
int|falseПозиция вхождения, счёт с нуля, или `false`, если подстрока не найдена.
Примеры
Позиция найденной подстроки:
<?php
var_dump(mb_strpos('Привет, мир', 'мир'));Результат:
int(8)Если подстроки нет, возвращается false:
<?php
var_dump(mb_strpos('Привет, мир', 'PHP'));Результат:
bool(false)Позиция 0 при нестрогом сравнении тоже выглядит как false, поэтому сравнивать нужно строго:
<?php
$position = mb_strpos('PHP', 'P');
var_dump($position === false);
var_dump($position == false);Результат:
bool(false)
bool(true)Примечания
Результат всегда сравнивайте с false через ===. Если нужно только узнать, есть ли подстрока, проще взять str_contains().
См. также
- str_contains — Проверяет, содержит ли строка заданную подстроку.
- mb_substr — Возвращает часть строки.
Вопросы и ответы по теме
В учебнике
- Строки — Работа со строками в PHP — кавычки, склейка, длина, поиск, замена и функции для кириллицы.