each
(PHP 4, PHP 5)
each — Returnerer den aktuelle nøgle og værdi fra et array, og flytte den interne array pointer en plads frem
Beskrivelse
Returnerer den aktuelle nøgle og værdi fra arrayet array og flytter array pointeren en plads frem. Dette par er returneret i en array med 4 elementer. Med nøglerne 0, 1, key og value. Elementerne 0 and key indeholder navnet på nøglenværdien og 1 og value indeholder dataen.
Hvis den interne pointer for arrayet peger efter den sidste element af arrayet, vil each() returnere FALSE.
Example#1 each() eksempel
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
$bar indeholder nu følgende nægler/værdier:
Array ( [1] => bob [value] => bob [0] => 0 [key] => 0 )
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
$bar indeholder nu følgende nægler/værdier:
Array ( [1] => Bob [value] => Bob [0] => Robert [key] => Robert )
each() bliver typisk brugt i forbindelse med list() til at gå igennem et array. Her er et eksempel:
Example#2 Gennemgang af array med each()
<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}
?>
Ovenstående eksempel vil udskrive:
a => apple b => banana c => cranberry
Efter at each() er blevet udført, vil den interne array pointer peje på næste element eller efter det sidste element, hvis den rammer enden af arrayet. Du skal bruge reset() hvis du gennemgå arrayet igen med each funktionen.
Når man indsætter et nyt element i et array bliver array pointeren sat til det første element igen. Derfor vil vi i vores eksempel ovenfor have lavet en uendelig løkke, hvis vi havde tildelt en ny variable til $fruit inde i vores løkke.
Se også key(), list(), current(), reset(), next(), prev() og foreach.