strpos funksiyası
strpos funksiyası alt sətrin başqa bir sətirdə
ilk daxil olma mövqeyini qaytarır və ya alt sətir tapılmasa
false qaytarır. Funksiya birinci parametr kimi
axtarışın aparıldığı sətiri, ikinci parametr kimi isə
axtarılacaq alt sətiri qəbul edir.
Standart olaraq funksiya sətrin əvvəlindən axtarışa başlayır və ilk uyğunluğu tapana qədər davam edir. Axtarışın başlanğıcını üçüncü istəyə bağlı parametrlə tənzimləmək olar - əgər o təyin edilibsə, axtarış sətrin əvvəlindən deyil, göstərilən yerdən başlayacaq.
Həmçinin stripos funksiyası da var, hansı ki eyni işi görür,
ancaq registr həssaslığı olmadan.
Sintaksis
strpos(string $haystack, string $needle, int $offset = 0): int|false
Nümunə
Bu nümunədə funksiya 'c' ilk simvolunun mövqeyini qaytaracaq.
O 2 mövqeyini tutur, çünki say 0-dan başlayır:
<?php
echo strpos('abcde abcde', 'c');
?>
Kodun icrasının nəticəsi:
2
Nümunə
Bu nümunədə üçüncü parametr təyin edilib və
buna görə də axtarış üçüncü mövqedən başlayacaq,
bu halda funksiya artıq ikinci 'c' simvolunu tapacaq
və onun mövqeyini - 8 göstərəcək:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Kodun icrasının nəticəsi:
8
Nümunə
Əgər alt sətir tapılmasa - funksiya
false qaytaracaq. Əgər sətir
əvvəlindədirsə, funksiya 0 qaytaracaq.
Bu, qısa şərt forması ilə müqayisə zamanı
problem yarada bilər:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Kodun icrasının nəticəsi (gözlədiyimiz kimi deyil):
'---'
Nümunə
Sətrin əvvəlini düzgün yoxlamağı yerinə yetirək:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Kodun icrasının nəticəsi:
'+++'
Həmçinin bax
-
strrposfunksiyasına,
hansı ki alt sətrin son daxil olma mövqeyini qaytarır -
str_containsfunksiyasına,
hansı ki sətirdə simvolun daxil olmasını yoxlayır -
str_starts_withfunksiyasına,
hansı ki sətrin əvvəlini yoxlayır -
str_ends_withfunksiyasına,
hansı ki sətrin sonunu yoxlayır -
array_searchfunksiyasına,
hansı ki massivdə axtarış həyata keçirir