(PHP 4, PHP 5)
each — Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
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.
Ü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.