Heim >Backend-Entwicklung >PHP-Tutorial >So durchlaufen Sie Arrays mit foreach und for
Die
foreach-Syntaxstruktur wird zum Durchlaufen eines Arrays verwendet.
Die PHP-Syntaxstruktur foreach() wird zum Durchlaufen von Operationen oder zum Ausgeben von Arrays verwendet. foreach() kann nur zum Durchlaufen von Arrays oder Objekten verwendet werden, wenn versucht wird, sie für andere Zwecke zu verwenden ZweckeEs tritt ein Fehler auf, wenn der Datentyp oder eine nicht initialisierte Variable ist.
Syntax:
foreach (array as $value) statement // 或者: foreach (array as $key => $value) statement
In der obigen Syntax weist jede Schleife den Wert der aktuellen Einheit $value zu und der Zeiger innerhalb des Arrays bewegt sich einen Schritt vorwärts. Im zweiten Syntaxformat wird in jeder Schleife auch der Variable $key der Schlüsselname der aktuellen Unit zugewiesen.
Beispiel:
<?php $arr_age = array("wang"=>18, "li"=>20, "zhang"=>25); foreach ($arr_age as $age) { echo $age,'<br />'; } ?>
Ausgabe der Ausführung des Beispiels:
18 20 25
<?php $arr_age = array("wang"=>18, "li"=>20, "zhang"=>25); foreach ($arr_age as $key=>$age) { echo $key,': ',$age,'<br />'; } ?>
Ausgabe der Ausführung des Beispiels :
wang: 18 li: 20 zhang: 25
Wenn foreach mit der Ausführung beginnt, zeigt der Zeiger im Array automatisch auf die erste Einheit, was bedeutet, dass vor der foreach-Schleife kein Aufruf von reset() erforderlich ist .
foreach bearbeitet eine Kopie des angegebenen Arrays, nicht das Array selbst. Änderungen an den zurückgegebenen Array-Elementen wirken sich nicht auf das ursprüngliche Array aus (siehe Beispiel unten), aber wenn die foreach-Schleife bis zum Ende ausgeführt wird, zeigt der interne Zeiger des ursprünglichen Arrays auf das Ende des Arrays.
<?php $arr_age = array("wang"=>18, "li"=>20, "zhang"=>25); foreach ($arr_age as $age) { $age = $age+10; echo $age,'<br />'; } // 输出原数组 print_r($arr_age); ?>
Ausgabe des Beispiels:
28 30 35 Array ( [wang] => 18 [li] => 20 [zhang] => 25 )
Um die ursprünglichen Array-Elemente in foreach zu ändern, können Sie das obige Beispiel durch Referenz ändern 🎜>
Führen Sie die Beispielausgabe aus:<?php $arr_age = array("wang"=>18, "li"=>20, "zhang"=>25); foreach ($arr_age as &$age) { $age = $age+10; echo $age,'<br />'; } // 输出原数组 print_r($arr_age); ?>Durchlaufen Sie das
18 20 25 Array ( [wang] => 28 [li] => 30 [zhang] => 35 )mehrdimensionale Array
Um ein mehrdimensionales Array zu durchlaufen, verwenden Sie im Allgemeinen eine verschachtelte Foreach-Rekursion oder teilen Sie das ursprüngliche Array in ein eindimensionales Array auf und führen Sie dann einen Foreach-Durchlauf durch. Ein
zweidimensionales Array Ausführen dieser Beispielausgabe:$arr_age = array("wang"=>18, "li"=>20, "zhang"=>array("name"=>"小张", "age"=>25)); foreach ($arr_age as $age) { if(is_array($age)){ foreach ( $age as $detail) { echo $detail,'<br />'; } } else { echo $age,'<br />'; } } ?>für mehrdimensionales
18 20 小张 25Array Beim Durchlaufen von
muss die am besten geeignete Verarbeitungsmethode basierend auf der tatsächlichen Datenstruktur übernommen werden. Erweitertes Vorlesen
for()-Schleife zum Durchlaufen des Arrays
Führen Sie die Beispielausgabe wie folgt aus:
<?php $arr_age = array(18, 20, 25); $num = count($arr_age); for($i = 0; $i < $num; $i++){ echo $arr_age[$i]."<br />"; } ?>Tipps
18 20 25
Das obige ist der detaillierte Inhalt vonSo durchlaufen Sie Arrays mit foreach und for. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!