Funkcija strpos
Funkcija strpos vraća poziciju
prvog pojavljivanja podstringa u drugi string
ili false, ako podstring nije pronađen.
Prvi parametar funkcije je string
u kome se vrši pretraga, drugi parametar
- podstring koji treba tražiti.
Podrazumevano, funkcija traži od početka stringa do prvog poklapanja. Početak pretrage se može podesiti trećim opcionim parametrom - ako je zadat, pretraga će početi ne od početka stringa, već od navedene pozicije.
Postoji i funkcija stripos, koja
radi isto to, ali bez obzira na veličinu slova (case-insensitive).
Sintaksa
strpos(string $haystack, string $needle, int $offset = 0): int|false
Primer
U ovom primeru funkcija će vratiti poziciju prvog
simbola 'c'. On zauzima poziciju 2,
jer odbrojavanje počinje od 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Rezultat izvršavanja koda:
2
Primer
U ovom primeru je zadat treći parametar i
zato će pretraga početi od treće pozicije,
u ovom slučaju funkcija će naći već drugi simbol
'c' i prikazati njegovu poziciju - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Rezultat izvršavanja koda:
8
Primer
Ako podstring ne bude pronađen - funkcija
će vratiti false. Ako se string nalazi
na početku, funkcija će vratiti 0.
Ovo može biti problem pri poređenju
preko kratke forme uslova:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Rezultat izvršavanja koda (nije onakav kakav smo očekivali):
'---'
Primer
Izvršimo ispravnu proveru početka stringa:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Rezultat izvršavanja koda:
'+++'
Pogledajte takođe
-
funkciju
strrpos,
koja vraća poziciju poslednjeg pojavljivanja podstringa -
funkciju
str_contains,
koja proverava prisustvo stringa u drugom stringu -
funkciju
str_starts_with,
koja proverava da li string počinje određenim podstringom -
funkciju
str_ends_with,
koja proverava da li string završava određenim podstringom -
funkciju
array_search,
koja vrši pretragu u nizu (array)