strtok

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

strtokDizgeyi bir dizgeciğe göre böler

Açıklama

strtok(string$dizge, string$ayraçlar): string|false

İsimli bağımsız değişkenleri desteklemeyen diğer sözdizimi:

strtok(string$ayraçlar): string

strtok() işlevi dizge dizgesini ayraçlar dizgesindeki karakterleri ayraç olarak kullanarak daha küçük dizgelere böler. Yani, "Bu örnek bir dizgedir" dizgesini boşluk karakterini ayraç olarak kullanarak sözcüklerine bölebilirsiniz.

Sadece ilk strtok() çağrısında dizge bağımsız değişkeni belirtilir. Sonraki çağrılarda sadece ayraçlar bağımsız değişkenini kullanmak yeterlidir. Baştan başlamak veya yeni dizgelerden birini ayrıştırmak için işlevi dizge bağımsız değişkeni ile çağırmak işlemi ilklendirmek için yeterlidir. ayraçlar bağımsız değişkenine birden fazla ayraç koyabilirsiniz. Belirtilen bu ayraçlardan birine ilk rastlandığıyla işlev dizgeyi böler.

Bilginize:

Bu işlev, explode() işlevine göre biraz farklı davranır. İlk olarak, ayrıştırılmış dizedeki iki veya daha fazla bitişik ayraçlar karakteri tek bir sınırlayıcı olarak kabul edilir. Ayrıca, dizenin başında veya sonunda bulunan ayraçlar yoksayılır. Örneğin, ";aaa;;bbb;" dizesinde, ";" ile strtok() işlevine yapılan art arda çağrılarda, önce "aaa" ve "bbb" dizeleri ve ardından false değeri döner. Sonuç olarak, explode(";", $string) 5 elemanlı bir dizi döndürürken burada sadece iki eleman döner.

Bağımsız Değişkenler

dizge

Daha küçük parçalara bölünecek dizge.

ayraçlar

Dizgeyi bölmek için kullanılacak ayraçlardan oluşan dizge.

Dönen Değerler

Bir dizge parçası veya dizgede ayraç kalmazsa false döner.

Örnekler

Örnek 1 - strtok() örneği

<?php
$string
= "This is\tan example\nstring";

$tok = strtok($string, " \n\t");

while (
$tok !== false) {
echo
"Word=$tok<br />";
$tok = strtok(" \n\t");
}
?>

Örnek 2 - Ayraçlar tükendiğinde strtok() davranışı

<?php
$dizge1
= strtok('/something', '/');
$dizge2 = strtok('/');
var_dump($dizge1, $dizge2);
?>

Yukarıdaki örneğin çıktısı:

string(9) "something" bool(false)

Örnek 3 - strtok() ile explode() arasındaki fark

<?php
$string
= ";aaa;;bbb;";

$parts = [];
$tok = strtok($string, ";");
while (
$tok !== false) {
$parts[] = $tok;
$tok = strtok(";");
}
echo
json_encode($parts),"\n";

$parts = explode(";", $string);
echo
json_encode($parts),"\n";

Yukarıdaki örneğin çıktısı:

["aaa","bbb"] ["","aaa","","bbb",""]

Notlar

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.

Ayrıca Bakınız

  • explode() - Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir
To Top