• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

list() und each()

freakXHTML

Mitglied
Hallo zusammen,
ich versuche mir gerade list() und each() näher zu bringen. Jedoch habe ich noch nicht so ganz begriffen, was sie machen. Wenn ich ein Array mit n Einträgen habe und nun jedes Element in einer eigenen Variablen speichern möchte, dann benutzt man list()? Liege ich da richtig?

Wodurch wird dann diese while Schleife abgebrochen und was wird hier gemacht?
PHP:
<?php
$fruit = array('a' => 'Apfel', 'b' => 'Banane', 'c' => 'Preiselbeere');
 
reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val\n";
}
?>

Wozu die Schleife?

Vielen Dank
lg, freakXHTML
 
Zuletzt bearbeitet:
Zu List steht auf PHP: each - Manual
Like array(), this is not really a function, but a language construct. list() is used to assign a list of variables in one operation.
und each() gibt ein Array mit dem aktuellen Schlüssel/Werte-Paar zurück. Intern wird dann der Array-Zeiger einen Wert weiter geschoben.
Was each() macht seht auf PHP: each - Manual

Die Schleife dort läuft solange, bis each() am Ende des Arrays ist und gibt dann FALSE zurück, so dass die Schleifenbedingung unwahr wird. Bei jedem Durchlauf wird $key und $val neu zugewiesen.

while (list($key, $val) = each($fruit)) ist er unüblich, da es seit PHP4 foreach() gibt:
PHP:
foreach ($fruit as $key => $val) { }
Der Unterschied ist, dass foreach hier mit einer Kopie des Arrays arbeitet.
 
Zurück
Oben