Функција strpos
Функција strpos враћа позицију
првог наласка подниза у други низ
или false ако подниз није пронађен.
Први параметар функција прима низ
у којем се врши претрага, други параметар
- подниз који треба тражити.
Подразумевано функција тражи од почетка низа до првог поклапања. Почетак претраге може се регулисати трећим опционим параметром - ако је задат, претрага ће почети не са почетка низа, већ са наведеног места.
Постоји и функција stripos, која
ради исто то, али без обзира на величину слова.
Синтакса
strpos(string $haystack, string $needle, int $offset = 0): int|false
Пример
У овом примеру функција ће вратити позицију првог
симбола 'c'. Он заузима позицију 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,
која врши претрагу низом