array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'function.strpos.php', 1 => 'strpos', ), 'up' => array ( 0 => 'ref.strings.php', 1 => 'Dizge İşlevleri', ), 'prev' => array ( 0 => 'function.strpbrk.php', 1 => 'strpbrk', ), 'next' => array ( 0 => 'function.strrchr.php', 1 => 'strrchr', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/strings/functions/strpos.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
strpos — Bir alt dizgenin ilkinin konumunu bulur
samanlık
dizgesi içindeki ilk
iğne
dizgesinin sayısal konumunu döndürür.
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.
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.
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: | Açıklama |
---|---|
8.0.0 |
iğne artık boş dizge kabul ediyor.
|
8.0.0 |
iğne olarak bir tamsayı aktarımı artık kabul
edilmiyor.
|
7.3.0 |
iğne olarak bir tamsayı aktarımı artık
önerilmiyor.
|
7.1.0 |
başlangıç s artık negatif olabiliyor.
|
Ö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.