Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Array-Traversal für jede Syntaxstruktur und Beispiele

PHP-Array-Traversal für jede Syntaxstruktur und Beispiele

高洛峰
Freigeben: 2023-03-04 15:02:01
Original
1700 Leute haben es durchsucht

foreach()

Die PHP-foreach()-Syntaxstruktur wird zum Durchlaufen von Operationen oder Ausgabearrays verwendet. foreach() kann nur zum Durchlaufen von Arrays oder Objekten verwendet werden, wenn versucht wird, sie für andere Datentypen zu verwenden Ein unbekannter Fehler tritt beim Initialisieren von Variablen auf.

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 und dem darin enthaltenen Zeiger zu Das Array Einen Schritt vorwärts bewegen. 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

Führen Sie diese Beispielausgabe aus:

18
20
25
Nach dem Login kopieren

Array-Schlüsselwert verwenden

<?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

Führen Sie die Beispielausgabe aus:

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

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 der Ausführung des Beispiels:

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

to be in foreach Das Ändern der ursprünglichen Array-Elemente kann durch die Verwendung von Referenzen erreicht werden:

<?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:

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

Mehrdimensionale Arrays durchqueren

Die foreach-Syntaxstruktur kann nur zum Durchlaufen eindimensionaler Arrays verwendet werden. Verwenden Sie im Allgemeinen die verschachtelte Foreach-Rekursion oder teilen Sie das ursprüngliche Array in eindimensionale Arrays auf. Das Array wird dann durch foreach durchlaufen.

Beispiel für das Mischen ein- und zweidimensionaler Arrays:

<?php
$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

Die Traversalverarbeitung mehrdimensionaler Arrays erfordert die am besten geeignete Verarbeitungsmethode basierend auf der tatsächlichen Situation Datenstruktur.

PHP-Arrays werden durch HashTable-Tabellen 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 eine for()-Schleife zum Durchlaufen des Arrays verwenden:

<?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

Sie können auch list() und every() verwenden, um das Array zu durchlaufen, aber Tests haben ergeben, dass die Effizienz

nicht so gut ist wie foreach().

Die obige PHP-Array-Traversal-Foreach-Syntaxstruktur und Beispiele sind alle vom Herausgeber geteilten Inhalte. Ich hoffe, dass sie Ihnen eine Referenz geben können, und ich hoffe auch, dass Sie dem PHP-Chinesen mehr Aufmerksamkeit schenken Webseite.

Weitere Artikel zur PHP-Array-Traversierung für jede Syntaxstruktur und Beispiele finden Sie auf der chinesischen PHP-Website!


Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage