Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie foreach() in PHP

So verwenden Sie foreach() in PHP

墨辰丷
墨辰丷Original
2018-06-09 10:01:5211654Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung von foreach() in PHP vorgestellt. Ich hoffe, dass er für alle hilfreich ist.

PHP 4 führte das foreach-Konstrukt ein, ähnlich wie Perl und andere Sprachen. Dies ist lediglich eine praktische Möglichkeit, über ein Array zu iterieren. foreach kann nur mit Arrays verwendet werden und es tritt ein Fehler auf, wenn versucht wird, es mit anderen Datentypen oder einer nicht initialisierten Variablen 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

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.

Empfohlenes Handbuch:php vollständiges Handbuch zum Selbststudium

Schauen wir uns zunächst die erste Aussage an. Diese Aussage ist relativ einfach. array_expression bezieht sich auf Es handelt sich um einen Array-Ausdruck. Die as $val-Anweisung ruft nacheinander den Wert des Arrays ab und speichert ihn in der Variablen $val. Diese Methode kann nur den Wert im Array abrufen, nicht jedoch den Indexwert des Arrays Array.

Zum Beispiel:

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

Das Ergebnis wird ausgegeben: val1 val2 val3

Sehen wir uns das zweite Format an, das genau wie das erste Format erhalten werden kann. Zusätzlich zum Wert des Elements im Array kann auch der Indexwert des Elements abgerufen und in der Variablen $key gespeichert werden. Wenn der Indexwert des Arrays nicht manuell festgelegt wurde, wird er auf den Systemstandard zurückgesetzt Wert einstellen;

Siehe Positivbeispiel:

Schauen Sie sich zunächst ein einfaches eindimensionales Array an:

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

Das Programm gibt Folgendes aus: 1=>val1;2=> ;val2;3=>val3;, Schauen wir uns als Nächstes eine komplexere zweidimensionale Array-Durchquerung 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>");

Ausgabeergebnis:

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

f37768811f8ede4f402b6d3b58e65c89 sind Beschriftungen, die zur Anzeige von Vollpunkten und Hohlpunkten verwendet werden.

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.

Noch ein 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>";
}
?>

Die Frage ist, warum wir $b[$key] anstelle von $b[$value] verwenden, um den Wert im Array $b auszugeben?

Warum ist das so?

$a = array("1"=>"语文","2"=>"数学","3"=>"英语");上面这个和下面这个是完全一样的
$a[1]="语文";$a[2]="数学"$a[3]=“英语”

Wie geben wir das obige Array aus?

Es muss echo $a[1];

richtig sein?

Wenn es keinen Zweifel gibt, machen wir weiter! ! ! !

————————————————————————————————————————

Sagen Sie einfach foreach

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

Der Index ist das $a[1] oben , und die 1 ist hier der Index der Array-Marke!

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

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;
  }

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 der Index darin zugewiesen Das Array bewegt sich einen Schritt nach unten, d. h. die nächste Schleife gibt das nächste Element zurück.

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

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 wird auch der Schlüsselwert des aktuellen Elements zugewiesen in jeder Schleife zugewiesen werden. Geben Sie die Variable $key an. Der Schlüsselwert kann ein tiefgestellter Wert oder eine Zeichenfolge sein.

Zum Beispiel „0“ in Buch[0]=1, „id“ in Buch[id]="001".

Empfohlene verwandte Artikel:
1.Zwei Verwendungen von PHP foreach als $key => $value
2.Detailliertes Verständnis der Verwendung des foreach-Anweisungsschleifen-Arrays
Verwandte Videoempfehlungen:
1.Dugu Jiujian (4)_PHP-Video-Tutorial

Verwandte Empfehlungen:

So implementieren Sie eine Skin-Änderung in PHP basierend auf Cookies

Zusatz, Löschen und Ändern der MySQL-Implementierung in PHP. Prüffunktion

PHP-Methoden für String-Operationen

Das obige ist der detaillierte Inhalt vonSo verwenden Sie foreach() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:Ternärer PHP-OperatorNächster Artikel:Ternärer PHP-Operator