Was ist PHP foreach?
foreach ist eine praktische Möglichkeit, über ein Array zu iterieren. foreach kann nur mit Arrays verwendet werden und es tritt ein Fehler auf, wenn versucht wird, es mit anderen Datentypen oder einer nicht initialisierten Variablen zu verwenden.
Zwei Syntaxen für PHP foreach
Es gibt zwei Syntaxen, die zweite ist weniger wichtig, aber eine nützliche Erweiterung der ersten.
Das erste Format iteriert über das angegebene array_expression-Array. Bei jedem Durchlauf der Schleife wird $value der Wert der aktuellen Zelle zugewiesen und der Zeiger innerhalb des Arrays wird um einen Schritt vorwärts bewegt (sodass die nächste Zelle in der nächsten Schleife abgerufen wird).
foreach (array_expression as $value) statement
Das zweite Format macht dasselbe, außer dass der Schlüsselname der aktuellen Zelle in jeder Schleife auch der Variablen $key zugewiesen wird.
Seit PHP 5 ist es auch möglich, Objekte zu durchlaufen.
foreach (array_expression as $key => $value) statement
Hinweis: Wenn foreach mit der Ausführung beginnt, zeigt der Zeiger im Array automatisch auf die erste Einheit. Dies bedeutet, dass vor der foreach-Schleife kein Aufruf von reset() erforderlich ist.
Hinweis: Sofern nicht auf das Array verwiesen wird, bearbeitet foreach eine Kopie des angegebenen Arrays, nicht das Array selbst. foreach hat einige Nebenwirkungen auf Array-Zeiger. Verlassen Sie sich während oder nach einer foreach-Schleife nicht auf den Wert eines Array-Zeigers, es sei denn, dieser wird zurückgesetzt.
Seit PHP 5 ist es einfach, die Elemente eines Arrays zu ändern, indem man $value ein & voranstellt. Diese Methode weist einen Wert per Referenz zu, anstatt ihn zu kopieren.
<?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6, 8) ?>
Diese Methode ist nur verfügbar, wenn auf das zu durchlaufende Array verwiesen werden kann (z. B. wenn es sich um eine Variable handelt).
<?php foreach (array(1, 2, 3, 4) as &$value) { $value = $value * 2; } ?>
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung des PHP-foreach-Traversierens von Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!