(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
Belirtilen diziden, gösterici konumundaki anahtar değer çiftini döndürür ve göstericiyi sonraki öğeye 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. Dizi baştan taranmak istenirse gösterici reset() ile dizinin başlangıcına taşınmalıdır.
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 atamak 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.