(PHP 4, PHP 5, PHP 7)
each — Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
&$dizi
)Belirtilen diziden, gösterici konumundaki anahtar değer çiftini döndürür ve göstericiyi bir ilerletir.
each() işini bitirdikten sonra dizi göstericisi bir sonraki elemana konumlanır; eğer gösterici zaten sonuncu elemandaysa gösterici sonuncudan sonraki olmayan elemana konumlanır. Diziyi baştan taramak isterseniz göstericiyi reset() ile dizinin başlangıcına taşımanız gerekir.
dizi
Üzerinde işlem yapılacak dizi.
dizi
dizisinin göstericisinin üzerinde bulunduğu
anahtar değer çifti ile döner. Bu çift dört elemanlı, 0,
1, key ve value
anahtarlarına sahip bir dizi olarak döner. 0 ve
key elemanları anahtarı, 1 ve
value ise değeri içerir.
Eğer gösterici sonuncu dizi elemanının sonrasındaysa
each() işlevi FALSE
döndürür.
Örnek 1 - each() örnekleri
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
$bar şu anahtar değer çiftlerini içerir:
Array ( [1] => bob [value] => bob [0] => 0 [key] => 0 )
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
$bar şu anahtar değer çiftlerini içerir:
Array ( [1] => Bob [value] => Bob [0] => Robert [key] => Robert )
each() genellikle bir diziyi taramak için list() işleviyle birlikte kullanılır. Örnek:
Örnek 2 - each() ile bir dizinin taranması
<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}
?>
Yukarıdaki örneğin çıktısı:
a => apple b => banana c => cranberry
Bir dizinin bir değişkene atanması özgün dizi göstericisini sıfırladığından yukarıdaki örnekte $fruit dizisini döngü içinde başka bir değişkene atamamız sonsuz bir döngüye sebep olurdu.
each() işlevi nesne de kabul eder fakat beklenmedik sonuçlar verebilir. Bu bakımdan nesne öğelerinin each() ile taranması önerilmez.