Zusammenfassung der Verwendungs- und Erweiterungsbeispiele von PHP foreach()

伊谢尔伦
Freigeben: 2023-03-11 08:58:02
Original
1006 Leute haben es durchsucht

PHP 4 führte das foreach-Konstrukt ein, ähnlich wie Perl und andere Sprachen. Dies ist lediglich eine bequeme Möglichkeit, über ein Array zu iterieren. foreach kann nur auf Arrays verwendet werden und es tritt ein Fehler auf, wenn versucht wird, es auf andere Datentypen oder eine nicht initialisierte Variable zu verwenden. Es gibt zwei Syntaxen, wobei die zweite eine weniger wichtige, aber nützliche Erweiterung der ersten ist.

foreach (array_expression as $value)
  statement

foreach (array_expression as $key => $value)
  statement
Nach dem Login kopieren

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).

Das zweite Format macht dasselbe, außer dass der Schlüsselname der aktuellen Zelle in jeder Schleife auch der Variablen $key zugewiesen wird.

Schauen wir uns zunächst die erste Anweisung an. Diese Anweisung bezieht sich auf einen Array--Ausdruck . Die as $val-Anweisung ruft sequentiell den Wert des Arrays ab und speichert ihn $val In Variablen kann diese Methode nur den Wert im Array abrufen, nicht jedoch den Indexwert des Arrays. Zum Beispiel:

$myArray=array("1"=>"val1","2"=>"val2","3"=>"val3");
foreach($myArray as $val) {
   print($val." ");
}
Nach dem Login kopieren

Das Ergebnis wird ausgegeben: val1 val2 val3

Sehen wir uns zusätzlich zum Abrufen der Elemente im Array wie beim ersten Format das zweite an Format Zusätzlich zum Wert kann auch der Indexwert des Elements abgerufen und in der Variablen $key gespeichert werden. Wenn der Indexwert des Arrays nicht manuell festgelegt wurde, wird der Systemstandardeinstellungswert
zurückgegeben Sehen Sie sich das positive Beispiel an:

Sehen wir uns zunächst ein einfaches eindimensionales Array an:

$myArray=array("1"=>"val1","2"="val2","3"=>"val3");
foreach($myArray as $key=>$val) {
   print($key."=>".$val.";");
}
Nach dem Login kopieren

Das Programm gibt Folgendes aus: 1=>val1;2= >val2;3=>val3; Schauen wir uns als nächstes einen komplexeren zweidimensionalen Array-Durchlauf an. Das Programm lautet wie folgt:

$myArray=array(
   "1"=>array("11"=>"val11","12"=>"val12","13"=>"val13"),
   "2"=>array("21"=>"val21","22"=>"val22","23"=>"val23"),
   "3"=>array("31"=>"val31","32"=>"val32","33"=>"val33")
);
print("<ul>");
foreach($myArray as $key=>$val) {
   print("<li>".$key."</li>");
   if (is_array($val)) {   //判断$val的值是否是一个数组,如果是,则进入下层遍历
     print("<ul>");
    foreach($val as $key=>$val) {
       print("<li>".$key."=>".$val."</li>");
     }
     print("</ul>");
   }
}
print("</ul>");
Nach dem Login kopieren

Ausgabeergebnis:

  1
    11=>val11
    12=>val12
    13=>val13
  2
    21=>val21
    22=>val22
    23=>val23
  3
    31=>val31
    32=>val32
    33=>val33
Nach dem Login kopieren

    und
  • ist eine Beschriftung, die einen Vollpunkt und einen Hohlpunkt anzeigt.
    Da es sich bei dem Obigen um ein zweidimensionales Array handelt, ist der nach der ersten Durchquerung erhaltene $val-Wert ein Array, daher habe ich der Durchquerung eine Beurteilung für die Array-Durchquerung der zweiten Ebene hinzugefügt.

    Ein weiteres Beispiel zur Lösung des Rätsels

    <?php
    $a = array("1"=>"语文","2"=>"数学","3"=>"英语");
    $b = array("1"=>"95","2"=>"99","3"=>"92");
    foreach($a as $key=>$value){
      echo $value;
    echo $b[$key]."<br>";
    }
    ?>
    Nach dem Login kopieren

    Die Frage ist, warum der Wert im Ausgabearray $b $b[$key] anstelle von $b[$value sein muss ]?

    Warum ist das so?

    $a = array("1"=>"Chinesisch",2"=>"Mathematik",3"=>"Englisch");
    Das obige und das eins unten Es ist genau das Gleiche

    $a[1]="Chinesisch";
    $a[2]="Mathematik"
    $a[3]="Englisch"

    Wie geben wir das obige Array aus?

    Es muss echo $a[1] sein;

    ———————————————————————————— ———————————————— -

    Einfach ausgedrückt: foreach

    sein Format ist wie folgt: foreach (Array-Name als Index). => Wert)

    Index ist In $a[1] oben ist die 1 hier der Index des Arrays!

    Jetzt sollten Sie verstehen, warum $a[$key] so ausgegeben wird

    Bitte denken Sie daran, dass die Ausgabemethode des Arrays immer $a[ ist, egal wie Sie es ändern. 1], nein Es ist $a['Sprache']

    =============================== ======= ===========================

    foreach() hat zwei Verwendungszwecke :

    1: foreach(array_name as $value){
        statement;
      }
    Nach dem Login kopieren

    Der array_name ist hier der Name des Arrays, das Sie durchlaufen möchten. In jeder Schleife wird der Wert des aktuellen Elements des array_name-Arrays $value und dem Index zugewiesen Innerhalb des Arrays wird ein Schritt nach unten verschoben, d. h. eine Schleife zurück nach unten, um das nächste Element abzurufen.

    2:foreach(array_name as $key => $value){    
        statement;  
     }
    Nach dem Login kopieren

    Der Unterschied zwischen dieser und der ersten Methode besteht darin, dass es einen zusätzlichen $key gibt, d. h. zusätzlich zur Zuweisung des Werts des aktuellen Elements zu $value, dem Schlüsselwert des aktuellen Elements wird in jeder Schleife auch der Variablen $key zugewiesen. Der Schlüsselwert kann ein tiefgestellter Wert oder eine -Zeichenfolge sein. Zum Beispiel „0“ in Buch[0]=1, „id“ in Buch[id]="001".

    Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendungs- und Erweiterungsbeispiele von PHP foreach(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen 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