Forum und email

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

array each ( array &$array )

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.

Caution

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.