(PHP 4, PHP 5, PHP 7)
each — Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor
&$array
)
Liefert das aktuelle Schlüssel-Wert-Paare des Arrays
array
, und erhöht den Arrayzeiger.
Nachdem each() ausgeführt wurde, bleibt der Arrayzeiger beim nächsten Element des Arrays, oder wenn am Ende des Arrays angelangt, nach dem letzten Element. Sie müssen reset() verwenden, wenn Sie das Array erneut mittels each durchgehen wollen.
array
Das Eingabe-Array.
Gibt das aktuelle Schlüssel-Wert-Paar aus dem Array
array
zurück. Dieses Paar wird als Array
mit vier Elementen zurückgegeben, und zwar mit den Schlüsseln
0, 1, key,
und value. Die Elemente 0 und
key enthalten den Namen des Schlüssels,
1 und value den Wert.
Zeigt der interne Zeiger hinter das Ende der Array-Inhalte, gibt
each() FALSE
zurück.
Beispiel #1 each()-Beispiele
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
$bar enthält nun die folgenden Schlüssel-Wert-Paare:
Array ( [1] => bob [value] => bob [0] => 0 [key] => 0 )
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
$bar enthält nun die folgenden Schlüssel-Wert-Paare:
Array ( [1] => Bob [value] => Bob [0] => Robert [key] => Robert )
each() wird typischerweise in Verbindung mit list() verwendet, um ein Array durchzugehen:
Beispiel #2 Durchgehen eines Arrays mit each()
<?php
$fruit = array('a' => 'Apfel', 'b' => 'Banane', 'c' => 'Preiselbeere');
reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
a => Apfel b => Banane c => Preiselbeere
Da die Zuweisung eines Arrays zu einer anderen Variable den originalen Arrayzeiger zurücksetzt, würde unser obiges Beispiel in eine Endlosschleife geraten, hätten wir $fruit innerhalb der Schleife einer anderen Variable zugeordnet.
each() akzeptiert ebenfalls Objekte, liefert aber eventuell unerwartete Ergebnisse zurück. Es wird daher nicht empfohlen, über Objekteigenschaften mit each() zu iterieren.