Heim >Backend-Entwicklung >PHP-Problem >Was ist die Schreibmethode von PHP foreach?
Es gibt zwei Möglichkeiten, foreach in PHP zu schreiben, nämlich: 1. „foreach (iterable_expression as $value)“; 2. „foreach (iterable_expression as $key => $value)“.
Die Betriebsumgebung dieses Artikels: Windows7-System, PHP7.1-Version, DELL G3-Computer
Was ist die Schreibmethode von PHP foreach?
Die foreach-Syntaxstruktur bietet eine einfache Möglichkeit, ein Array zu durchlaufen. foreach kann nur auf Arrays und Objekte angewendet werden. Wenn Sie versuchen, es auf Variablen anderer Datentypen oder nicht initialisierte Variablen anzuwenden, wird eine Fehlermeldung ausgegeben. Es gibt zwei Syntaxen:
foreach (iterable_expression as $value) statement foreach (iterable_expression as $key => $value) statement
Das erste Format iteriert über den angegebenen iterable_expression-Iterator. Bei jedem Schleifendurchlauf wird $value der Wert der aktuellen Zelle zugewiesen.
Das zweite Format macht dasselbe, außer dass der Schlüsselname der aktuellen Zelle in jeder Schleife auch der Variablen $key zugewiesen wird.
Beachten Sie, dass foreach den internen Zeiger des Arrays, der von Funktionen wie current() und key() verwendet wird, nicht ändert.
Sie können das Traversierungsobjekt auch anpassen.
Sie können die Elemente eines Arrays einfach ändern, indem Sie & vor $value hinzufügen. 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) unset($value); // 最后取消掉引用 ?>
WARNUNG
Die $value-Referenz des letzten Elements des Arrays bleibt nach der foreach-Schleife bestehen. Es wird empfohlen, unset() zu verwenden, um es zu zerstören. Andernfalls werden Sie auf die folgende Situation stoßen:
<?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // 现在 $arr 是 array(2, 4, 6, 8) // 未使用 unset($value) 时,$value 仍然引用到最后一项 $arr[3] foreach ($arr as $key => $value) { // $arr[3] 会被 $arr 的每一项值更新掉… echo "{$key} => {$value} "; print_r($arr); } // ...until ultimately the second-to-last value is copied onto the last value // output: // 0 => 2 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 2 ) // 1 => 4 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 4 ) // 2 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 ) // 3 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 ) ?>
Sie können über die Werte von Array-Konstanten per Referenz iterieren:
<?php foreach (array(1, 2, 3, 4) as &$value) { $value = $value * 2; } ?>
Hinweis:
foreach unterstützt nicht die Möglichkeit, Fehlermeldungen mit „@“ zu unterdrücken.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist die Schreibmethode von PHP foreach?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!