Funkcija strpos
Funkcija strpos vrne položaj
prve pojavitve podniza v drug niz
ali false, če podniz ni najden.
Prvi parameter funkcije sprejme niz,
v katerem se izvaja iskanje, drugi parameter
- podniz, ki ga je treba poiskati.
Privzeto funkcija išče od začetka niza do prve ujemanja. Začetek iskanja je mogoče prilagoditi s tretjim neobveznim parametrom - če je podan, se bo iskanje začelo ne od začetka niza, ampak od določenega mesta.
Obstaja tudi funkcija stripos, ki
naredi isto, vendar brez upoštevanja velikosti črk.
Sintaksa
strpos(string $haystack, string $needle, int $offset = 0): int|false
Primer
V tem primeru bo funkcija vrnila položaj prvega
znaka 'c'. Zaseda položaj 2,
ker se štetje začne z 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Rezultat izvajanja kode:
2
Primer
V tem primeru je podan tretji parameter, zato
se bo iskanje začelo od tretjega položaja,
v tem primeru bo funkcija našla že drugi znak
'c' in izpisala njegov položaj - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Rezultat izvajanja kode:
8
Primer
Če podniz ne bo najden - bo funkcija
vrnila false. Če pa je niz
na začetku, bo funkcija vrnila 0.
To lahko predstavlja težavo pri primerjavi
s kratko obliko pogoja:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Rezultat izvajanja kode (ni tak, kakršnega pričakujemo):
'---'
Primer
Izvedli bomo pravilno preverbo začetka niza:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Rezultat izvajanja kode:
'+++'
Glejte tudi
-
funkcijo
strrpos,
ki vrne položaj zadnje pojavitve podniza -
funkcijo
str_contains,
ki preverja pojavitev znaka v nizu -
funkcijo
str_starts_with,
ki preverja začetek niza -
funkcijo
str_ends_with,
ki preverja konec niza -
funkcijo
array_search,
ki izvaja iskanje po polju