Programlama dillerinde en sık başvurulan String işlemlerinden birisi, bir String içerisinde bir karakterin, kelimenin ya da başka bir String'in geçip geçmediğini ve geçiyorsa kaçıncı karakterde geçtiğini bulmaktır. PHP'de bir yazının kaçıncı karakterde başladığını bulabilmek için birden fazla yöntem var, ancak bu yazıda bu amaç için geliştirilmiş olan strpos fonksiyonundan ve kullanımından bahsedeceğim.
strpos fonksiyonu iki parametre ile çalışır:
strpos(icerik, arama)
Örnek: yazi değişkeni içinde arama değişkeninin değerinin kaçıncı karakterde başladığını strpos ile bulun.
<?php
$yazi = "merhaba dünyalı ben dostum";
$arama = "dünya";
$sira = strpos($yazi, $arama);
echo($sira); //8
?>
Çözüm: m harfini sıfırıncı karakter olarak saymaya başlarsak "dünya" kelimesinin ilk harfi olan d'nin 8. karakterde başladığını görebiliriz.
Örnek: yazi ve arama terimlerini, yazi içinde arama terimi geçmeyecek şekilde güncelleyin ve strpos fonksiyonunun değerini kontrol edin.
<?php
$yazi = "merhaba dünyalı ben dostum";
$arama = "dümya"; //değiştirildi
$sira = strpos($yazi, $arama);
echo($sira); //çıktı yok
?>
Program çalıştırıldığında çıktı vermeyecektir.
Not: strpos fonksiyonu küçük büyük harfe duyarlı bir fonksiyondur ve aramanın tam olarak eşleşmesi gerekir. Eğer küçük büyük harf farklılıklarına duyarlı olmayacak şekilde arama yapılmak isteniyorsa stripos fonksiyonu kullanılmalıdır.
<?php
$yazi = "merhaba dünyalı ben dostum";
$arama = "Dünya";
$sira = stripos($yazi, $arama);
echo($sira); //8
?>
Benzer PHP yazılarım için:
bkz: PHP'de yazının sadece ilk harfini büyük harf ile yazdırmak
bkz: PHP'de yazıları küçük harf ve büyük harf ile yazdırmak
bkz: PHP'de yazının ilk karakterini bulmak
bkz: PHP'de yazının son karakterini bulmak
bkz: PHP'de string'in uzunluğu (karakter sayısı) nasıl bulunur?
bkz: PHP Escape Karakterleri Listesi
bkz: PHP'de yazıyı (String'i) bölmek ve ayırmak