Funkcia strpos
Funkcia strpos vráti pozíciu
prvého výskytu podreťazca v inom reťazci
alebo false, ak podreťazec nie je nájdený.
Prvým parametrom funkcia prijíma reťazec,
v ktorom sa vykonáva vyhľadávanie, druhým parametrom
- podreťazec, ktorý sa má hľadať.
Predvolene funkcia hľadá od začiatku reťazca až po prvú zhodu. Začiatok vyhľadávania je možné regulovať tretím voliteľným parametrom - ak je zadaný, vyhľadávanie nezačne od začiatku reťazca, ale od určeného miesta.
Existuje aj funkcia stripos, ktorá
robí to isté, ale bez ohľadu na veľkosť písmen.
Syntax
strpos(string $haystack, string $needle, int $offset = 0): int|false
Príklad
V tomto príklade funkcia vráti pozíciu prvého
symbolu 'c'. Ten sa nachádza na pozícii 2,
pretože počítanie začína od 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Výsledok vykonania kódu:
2
Príklad
V tomto príklade je zadaný tretí parameter a
preto vyhľadávanie začne od tretej pozície,
v tomto prípade funkcia nájde už druhý symbol
'c' a vypíše jeho pozíciu - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Výsledok vykonania kódu:
8
Príklad
Ak podreťazec nebude nájdený - funkcia
vráti false. Ak sa reťazec nachádza
na začiatku, funkcia vráti 0.
To môže byť problémom pri porovnávaní
pomocou krátkej formy podmienky:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Výsledok vykonania kódu (nie taký, aký sme očakávali):
'---'
Príklad
Vykonajme správnu kontrolu začiatku reťazca:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Výsledok vykonania kódu:
'+++'
Pozri tiež
-
funkciu
strrpos,
ktorá vráti pozíciu posledného výskytu podreťazca -
funkciu
str_contains,
ktorá kontroluje výskyt symbolu v reťazci -
funkciu
str_starts_with,
ktorá kontroluje začiatok reťazca -
funkciu
str_ends_with,
ktorá kontroluje koniec reťazca -
funkciu
array_search,
ktorá vykonáva vyhľadávanie v poli