In diesem Tutorial möchte ich Ihnen genauer erläutern, wie Sie mit Hilfe der each() Funktion in PHP an das aktuelle Key-Value-Paar (Schlüssel und Wert) eines Arrays herankommen und mit diesem weiterarbeiten können. Füllt man ein Array mit Daten, so gibt man jedem Wert auch einen Schlüssel, über den man wieder auf den gespeicherten Wert zugreifen kann. Mit der each() Funktion ist es möglich, neben dem Wert auch auf diesen Schlüssel zuzugreifen.
Die each() Funktion setzt dabei auch den internen Zeiger des Arrays eine Stelle weiter, so dass beim nächsten Aufruf von each das nächste Element zurückgegeben wird, bis das Ende des Arrays erreicht ist. Um die each() Funktion mit einem Array zu verwenden, reicht eben dieses als einziger Parameter aus. Der Rückgabewert der each() Funktion ist wiederum ein Array, in dem Wert und Schlüssel des abgerufenen Elements gespeichert sind. Wie man auf die Werte im Rückgabewert zugreifen kann, wird im Beispiel weiter unten beschrieben.
Die genaue Syntax der each() Funktion sieht demnach wie folgt aus:
each(Array);
Das oben angesprochene Beispiel zur Verwendung der each() Funktion in einem Script.
Der Code des Beispiels:
<?php
$array = array('PHP 3', 'PHP 4', 'PHP 5', 'PHP 6');
$each = each($array);
echo 'Value = '.$each['value'].'<br>';
echo 'Key = '.$each['key'].'<br><br>';
$each = each($array);
echo 'Value = '.$each['value'].'<br>';
echo 'Key = '.$each['key'].'<br>';
?>
Die Ausgabe des Beispiel:
Value = PHP 3
Key = 0
Value = PHP 4
Key = 1
Die Erklärung zum Beispiel:
Nachdem das Array mit den vier Werten erstellt wurde, wird mit der each() Funktion das Key-Value-Paar des ersten Elements in der Variablen $each gespeichert. Über die beiden Schlüssel "Value" und "Key" kann man nun auf die Werte im zurückgegebenen Array zugreifen. Dies geschieht in den nächsten zwei Programmzeilen mit der Ausgabe der beiden Werte.
Die folgenden drei Zeilen des Scripts wiederholen diese Schritte, der Unterschied ist aber, dass dadurch, dass PHP beim Aufruf von each() den internen Arrayzeiger um eine Stelle nach vorne rückt, nun der Schlüssel und der Wert des zweiten Elements des übergebenen Arrays an die Variable $each zurückgegeben wird. Bei einem dritten Aufruf von der each() Funktion bekäme der Programmierer dementsprechend nun das Key-Value-Paar des dritten Elements zurückgeliefert.