strpos - Возвращает позицию первого вхождения подстроки
Вернуться к: Обработка строк
strpos
(PHP 4, PHP 5, PHP 7)
strpos — Возвращает позицию первого вхождения подстроки
Описание
Ищет позицию первого вхождения подстроки
needle
в строку haystack
.
Список параметров
-
haystack
-
Строка, в которой производится поиск
-
needle
-
Если
needle
не является строкой, он приводится к целому и трактуется как код символа. -
offset
-
Если этот параметр указан, то поиск будет начат с указанного количества символов с начала строки. В отличии от strrpos() и strripos() данный параметр не может быть отрицательным.
Возвращаемые значения
Возвращает позицию, в которой находится искомая строка, относительно
начала строки haystack
(независимо от смещения (offset).
Также обратите внимание на то, что позиция строки отсчитывается от 0, а не от 1.
Возвращает FALSE
, если искомая строка не найдена.
Эта функция
может возвращать как boolean FALSE
, так и не-boolean значение,
которое приводится к FALSE
. За более подробной информацией обратитесь к разделу
Булев тип. Используйте оператор === для проверки значения,
возвращаемого этой функцией.
Примеры
Пример #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
?>
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.
Смотрите также
- stripos() - Возвращает позицию первого вхождения подстроки без учета регистра
- strrpos() - Возвращает позицию последнего вхождения подстроки в строке
- strripos() - Возвращает позицию последнего вхождения подстроки без учета регистра
- strstr() - Находит первое вхождение подстроки
- strpbrk() - Ищет в строке любой символ из заданного набора
- substr() - Возвращает подстроку
- preg_match() - Выполняет проверку на соответствие регулярному выражению
Вернуться к: Обработка строк