Функцијата 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,
која врши пребарување во низа