strpos Fonksiyonu
strpos fonksiyonu, bir alt dizenin başka bir dizede ilk bulunduğu konumu
döndürür veya alt dize bulunamazsa false döndürür.
Fonksiyonun ilk parametresi, içinde arama yapılacak dizedir, ikinci parametresi
ise aranacak alt dizedir.
Varsayılan olarak fonksiyon, dizenin başından ilk eşleşmeye kadar arar. Aramanın başlangıcı üçüncü isteğe bağlı parametre ile ayarlanabilir - eğer belirtilirse, arama dizenin başından değil, belirtilen konumdan başlar.
Ayrıca aynı işi yapan, ancak büyük/küçük harf duyarsız olan
stripos fonksiyonu da vardır.
Sözdizimi
strpos(string $haystack, string $needle, int $offset = 0): int|false
Örnek
Bu örnekte fonksiyon, ilk 'c' karakterinin konumunu döndürecektir.
2 konumunu alır, çünkü saymaya 0'dan başlanır:
<?php
echo strpos('abcde abcde', 'c');
?>
Kodun çalıştırılmasının sonucu:
2
Örnek
Bu örnekte üçüncü parametre belirtildiği için
arama üçüncü konumdan başlayacak,
bu durumda fonksiyon ikinci 'c' karakterini bulacak
ve onun konumunu - 8 - döndürecektir:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Kodun çalıştırılmasının sonucu:
8
Örnek
Eğer alt dize bulunamazsa - fonksiyon
false döndürür. Eğer dize
başlangıçta ise, fonksiyon 0 döndürür.
Bu, kısa koşul formu ile karşılaştırma yaparken
sorun olabilir:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Kodun çalıştırılmasının sonucu (beklediğimiz gibi değil):
'---'
Örnek
Dize başlangıcını doğru şekilde kontrol edelim:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Kodun çalıştırılmasının sonucu:
'+++'
Ayrıca Bakınız
-
strrposfonksiyonu,
bir alt dizenin son bulunduğu konumu döndürür -
str_containsfonksiyonu,
bir karakterin dize içinde olup olmadığını kontrol eder -
str_starts_withfonksiyonu,
dizenin başlangıcını kontrol eder -
str_ends_withfonksiyonu,
dizenin sonunu kontrol eder -
array_searchfonksiyonu,
dizi içinde arama yapar