strpos

(PHP 4, PHP 5, PHP 7, PHP 8)

strposBir alt dizgenin ilkinin konumunu bulur

Açıklama

strpos(string$samanlık, string$iğne, int$başlangıç = 0): int|false

samanlık dizgesi içindeki ilk iğne dizgesinin sayısal konumunu döndürür.

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge.

iğne

Aranacak dizge.

PHP 8.0.0 öncesinde, iğne bir dizge değilse, bir tamsayıya dönüştürülür ve bir karakterin sıra değeri olarak uygulanırdı. PHP 7.3.0 itibariyle bu davranışın kullanımı önerilmemekte ve güvenilmemesi önerilmektedir. Amaçlanan davranışa bağlı olarak, iğne ya doğrudan dizgeye çarpıtılmalı ya da doğrudan bir chr() çağrısı yapılmalıdır.

başlangıç

Seçimlik başlangıç bağımsız değişkeniyle aramanın samanlık içinde kaçıncı karakterden başlayacağını belirtebilirsiniz. Negatif bir değer belirtilmişse arama sondan başlangıçıncı karakterden başlar. Dönen konum yine de samanlık dizgesinin başına göre olacaktır.

Dönen Değerler

Konumu samanlık dizgesinin başına göre (başlangıçtan bağımsız) bir tamsayı olarak döndürür.Dizgenin ilk karakterinin konumu 1 değil 0'dır. Eğer iğne bulunamazsa false döner.

Uyarı

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 Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0iğne artık boş dizge kabul ediyor.
8.0.0iğne olarak bir tamsayı aktarımı artık kabul edilmiyor.
7.3.0iğne olarak bir tamsayı aktarımı artık önerilmiyor.
7.1.0başlangıçs artık negatif olabiliyor.

Örnekler

Ö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
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • stripos() - Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
  • str_contains() - Bir dizge içinde belirtilen alt dizgeyi arar
  • str_ends_with() - Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar
  • str_starts_with() - Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur
  • strripos() - Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
  • strstr() - İlk alt dizgeyi bulur
  • strpbrk() - Belirtilen karakterleri bir dizge içinde arar
  • substr() - Dizgenin bir kısmını döndürür
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
To Top