Funksioni strpos
Funksioni strpos kthen pozitën
e shfaqjes së parë të nënvargut në një varg tjetër
ose false, nëse nënvargu nuk gjendet.
Si parametër të parë funksioni pranon vargun,
në të cilin kryhet kërkimi, si parametër të dytë
- nënvargun që duhet kërkuar.
Si parazgjedhje, funksioni kërkon nga fillimi i vargut deri te përputhja e parë. Fillimi i kërkimit mund të rregullohet me parametrin e tretë jo të detyrueshëm - nëse ai është i caktuar, atëherë kërkimi nuk do të fillojë nga fillimi i vargut, por nga vendi i caktuar.
Ekziston gjithashtu funksioni stripos, i cili
bën të njëjtën gjë, por pa marrë parasysh shkronjat e mëdha e të vogla.
Sintaksa
strpos(string $haystack, string $needle, int $offset = 0): int|false
Shembull
Në këtë shembull funksioni do të kthejë pozitën e karakterit të parë
'c'. Ai zë pozitën 2,
pasi numërimi fillon nga 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Rezultati i ekzekutimit të kodit:
2
Shembull
Në këtë shembull është caktuar parametri i tretë dhe
prandaj kërkimi do të fillojë nga pozita e tretë,
në këtë rast funksioni do të gjejë tashmë karakterin e dytë
'c' dhe do të nxjerrë pozitën e tij - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Rezultati i ekzekutimit të kodit:
8
Shembull
Nëse nënvargu nuk do të gjendet - atëherë funksioni
do të kthejë false. Nëse vargu ndodhet
në fillim, atëherë funksioni do të kthejë 0.
Kjo mund të jetë problem kur krahasohet
përmes formës së shkurtër të kushtit:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Rezultati i ekzekutimit të kodit (jo i tillë, siç pritëm ne):
'---'
Shembull
Le të kryejmë kontrollin e saktë për fillimin e vargut:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Rezultati i ekzekutimit të kodit:
'+++'
Shihni gjithashtu
-
funksionin
strrpos,
i cili kthen pozitën e shfaqjes së fundit të nënvargut -
funksionin
str_contains,
i cili kontrollon shfaqjen e karakterit në varg -
funksionin
str_starts_with,
i cili kontrollon fillimin e vargut -
funksionin
str_ends_with,
i cili kontrollon fundin e vargut -
funksionin
array_search,
i cili kryen kërkim në array