(PHP 4, PHP 5, PHP 7)
strpos — Bir alt dizgenin ilkinin konumunu bulur
samanlık
dizgesi içindeki ilk
iğne
dizgesinin konumunu döndürür. PHP 5 öncesi
strrpos() işlevinden farklı olarak bu işleve
iğne
dizgesinde tam bir dizge aktarılabilir ve işlev
bu dizgenin tamamını kullanabilir.
samanlık
Aramanın yapılacağı dizge.
iğne
iğne
bir dizge değilse, önce bir tamsayıya
dönüştürülür ve bu tamsayı karakterin kodu olarak ele alınır.
başlangıç
Seçimlik başlangıç
değiştirgesiyle aramanın
samanlık
içinde kaçıncı karakterden
başlayacağını belirtebilirsiniz. Dönen konum yine de
samanlık
dizgesinin başına göre olacaktır.
Konumu bir tamsayı olarak döndürür. Eğer iğne
bulunamazsa strpos() işlevi boolean türünde
FALSE
döndürür.
Bu işlev mantıksal FALSE
değeriyle dönebileceği gibi FALSE
olarak değerlendirilebilecek mantıksal
olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi edinmek için
Mantıksal Değerler bölümüne
bakabilirsiniz. Bu işlevden dönen değeri sınamak için
===
işlecini kullanınız.
Örnek 1 - Aynılık işlecinin (===) kullanımı
<?php
$samanlık = 'abc';
$iğne = 'a';
$konum = strpos($samanlık, $iğne);
// 'a' 0. karakter olduğundan == işleci beklendiği gibi
// çalışmayacaktır. Bu yüzden === kullanmaya çalışın.
if ($konum === false) {
echo "'$samanlık' dizgesi içinde '$iğne' dizgesi yok";
} else {
echo "'$samanlık' dizgesi içinde '$iğne' dizgesi var";
echo " ve $konum. karakterden başlıyor";
}
?>
Örnek 2 - Farklılık işlecinin (!==) kullanımı
<?php
$samanlık = 'abc';
$iğne = 'a';
$konum = strpos($samanlık, $iğne);
// !== işleci de kullanılabilir. 'a' 0. karakter olduğundan
// != işleci beklendiği gibi çalışmayacak, (0 != false) deyimi
// yanlış sonuç verecektir.
if ($konum !== false) {
echo "'$samanlık' dizgesi içinde '$iğne' dizgesi var";
echo " ve $konum. karakterden başlıyor";
} else {
echo "'$samanlık' dizgesi içinde '$iğne' dizgesi yok";
}
?>
Örnek 3 - Bir başlangıç kullanımı
<?php
// Belli bir konumdan önceki herşeyi yoksayarak bir karakteri arayabiliriz
$samanlık = 'abcdef abcdef';
$konum = strpos($samanlık, 'a', 1); // $konum = 7 olur, 0 değil
?>
Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.