Функцыя strpos
Функцыя strpos
вяртае пазіцыю
першага ўваходжання падрадка ў другі радок
ці false
, калі падрадок не знойдзены.
Першым параметрам функцыя прымае радок,
у якім ажыццяўляецца пошук, другім параметрам
- падрадок, які трэба шукаць.
Па змаўчанні функцыя шукае з пачатку радка да першага супадзення. Пачатак пошуку можна рэгуляваць трэцім неабавязковым параметрам - калі ён зададзены, то пошук пачнецца не з пачатку радка, а з паказанага месца.
Ёсць таксама функцыя stripos
, якая
робіць тое ж самае, але без уліку рэгістру.
Сінтаксіс
strpos(string $haystack, string $needle, int $offset = 0): int|false
Прыклад
У гэтым уроку функцыя верне пазіцыю першага
сімвала 'с'
. Ён займае пазіцыю 2
,
бо адлік пачынаецца з 0
:
<?php
echo strpos('abcde abcde', 'c');
?>
Вынік выканання кода:
2
Прыклад
У гэтым уроку зададзены трэці параметр і
таму пошук пачнецца з трэцяй пазіцыі,
у гэтым выпадку функцыя знойдзе ўжо другі сімвал
'c'
і вывядзе яго пазіцыю - 8
:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Вынік выканання кода:
8
Прыклад
Калі падрадок не будзе знойдзены - то функцыя
верне false
. Калі ж радок стаіць
у пачатку, то функцыя верне 0
.
Гэта можа быць праблемай пры параўнанні
праз кароткую форму ўмовы:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Вынік выканання кода (не такі, як мы чакалі):
'---'
Прыклад
Выканаем правільную праверку на пачатак радка:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Вынік выканання кода:
'+++'
Глядзіце таксама
-
функцыю
strrpos
,
якая вяртае пазіцыю апошняга ўваходжання падрадка -
функцыю
str_contains
,
якая правярае ўваходжанне сімвала ў радок -
функцыю
str_starts_with
,
якая правярае пачатак радка -
функцыю
str_ends_with
,
якая правярае канец радка -
функцыю
array_search
,
якая ажыццяўляе пошук па масіве