Heim > Backend-Entwicklung > PHP-Tutorial > So durchlaufen Sie Arrays mit foreach und for

So durchlaufen Sie Arrays mit foreach und for

伊谢尔伦
Freigeben: 2023-03-11 06:56:02
Original
2401 Leute haben es durchsucht

Die

foreach-Syntaxstruktur wird zum Durchlaufen eines Arrays verwendet.

foreach()

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
Nach dem Login kopieren

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,&#39;<br />&#39;;
}
?>
Nach dem Login kopieren

Ausgabe der Ausführung des Beispiels:

18
20
25
Nach dem Login kopieren
Nach dem Login kopieren

Verwendung von Array-Schlüsselwerten

<?php
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>25);
foreach ($arr_age as $key=>$age) {
    echo $key,&#39;: &#39;,$age,&#39;<br />&#39;;
}
?>
Nach dem Login kopieren

Ausgabe der Ausführung des Beispiels :

wang: 18
li: 20
zhang: 25
Nach dem Login kopieren

Tipp

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,&#39;<br />&#39;;
}
// 输出原数组
print_r($arr_age);
?>
Nach dem Login kopieren

Ausgabe des Beispiels:

28
30
35
Array ( [wang] => 18 [li] => 20 [zhang] => 25 )
Nach dem Login kopieren

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,&#39;<br />&#39;;
}
// 输出原数组
print_r($arr_age);
?>
Nach dem Login kopieren

Durchlaufen Sie das
18
20
25
Array ( [wang] => 28 [li] => 30 [zhang] => 35 )
Nach dem Login kopieren
mehrdimensionale Array

Die foreach-Syntaxstruktur kann nur zum Durchlaufen des

einen verwendet werden -dimensionales 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

Gemischtes Beispiel:

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,&#39;<br />&#39;;
        }
    } else {
        echo $age,&#39;<br />&#39;;
    }
}
?>
Nach dem Login kopieren

für mehrdimensionales
18
20
小张
25
Nach dem Login kopieren
Array Beim Durchlaufen von

muss die am besten geeignete Verarbeitungsmethode basierend auf der tatsächlichen Datenstruktur übernommen werden. Erweitertes Vorlesen

PHP-Arrays werden durch Hash-Tabellen (HashTable) implementiert, sodass foreach das Array entsprechend der Reihenfolge durchläuft, in der Elemente hinzugefügt werden. Wenn Sie nach Indexgröße iterieren möchten, sollten Sie eine for()-Schleife verwenden.

for()-Schleife zum Durchlaufen des Arrays

Wenn Sie ein Array kontinuierlicher Schlüsselwerte bearbeiten, können Sie auch die for()-Schleife zum Durchlaufen des Arrays verwenden:

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 />";
}
?>
Nach dem Login kopieren

Tipps
18
20
25
Nach dem Login kopieren
Nach dem Login kopieren

Sie können auch list() und every() verwenden, um das Array zu durchlaufen, aber der Test ergab, dass die Effizienz stimmt nicht so gut wie foreach().

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!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
Schleifenproblem, foreach
Aus 1970-01-01 08:00:00
0
0
0
Brechen von if und foreach
Aus 1970-01-01 08:00:00
0
0
0
Laravel updateOrInsert verarbeitet foreach
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage