(PHP 4, PHP 5)
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.
Aramanın yapılacağı dizge.
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.
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 (örneğin, 0 veya ""). 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.