Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung und Beispiele von PHP foreach

Verwendung und Beispiele von PHP foreach

WBOY
WBOYOriginal
2016-08-08 09:23:21830Durchsuche

Original-URL:
http://blog.csdn.net/china_skag/article/details/6444727
PHP 4 führte die foreach-Struktur ein, die Perl und anderen Sprachen sehr ähnlich ist. 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)
-Anweisung
foreach (array_expression as $key => $value)
-Anweisung
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 Einheit 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 den Wert des Arrays ab und speichert ihn in der Variablen „This“. Methode Sie können 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." ");
}
Das Ergebnis wird ausgegeben: val1 val2 val3
Sehen wir uns das zweite Format an, zusätzlich dazu, dass es wie das erste ist Zusätzlich zum Abrufen des Werts des Elements im Array im gleichen Format können Sie auch den Indexwert des Elements abrufen und in der Variablen $key speichern. Wenn der Indexwert des Arrays nicht manuell festgelegt wurde, wird dies der Fall sein Kehren Sie zum Standardeinstellungswert des Systems zurück.
Schauen Sie sich das positive Beispiel an:
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 ein komplizierteres zweidimensionales Array 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")
);
drucken ("

    ");
    foreach($myArray as $key=>$val) {
    print("
  • ".$key."
  • ");
    if (is_array($val)) { //Beurteilen Sie $val, ob der Wert ein Array ist. Wenn ja, geben Sie die Durchquerung der unteren Ebene ein
  • ".$key."=>".$val. "
  • ");
                                                                                                                                                              12=>val12
    13=>val13
    2
    21=>val21
    22=>val22
    23=>val23
    3
    31= >val31
    32=>val32
    33=>val33
      und

    • 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
      $a = array("1"=>"Chinese","2"=>"Mathematics","3"=> "Englisch");
      $b = array("1"=>"95",2"=>"99",3"=>"92");
      foreach($ a as $key=>$value){
      echo $value;
      echo $b[$key]."
      ";
      }
      ?>
      Frage Warum verwenden wir $b[$key] anstelle von $b[$value], um den Wert im Array $b auszugeben?
      Warum ist das so?
      $a = array("1"=>"Chinesisch",2"=>"Mathematik",3"=>"Englisch");
      Das obige ist genau das gleiche wie das untenstehende
      $a[1]="Chinesisch";
      $a[2]="Mathematik"
      $a[3]="Englisch"
      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( Der Array-Name als Index => Wert)
      Der Index ist das $a[1] oben, und die 1 hier ist der Index des Arrays!
      An diesem Punkt sollten Sie verstehen, warum $a[$key] so ausgegeben wird
      Denken Sie daran, dass die Ausgabemethode des Arrays immer $a[1] und nicht $ sein wird, egal wie Sie es ändern a['中文']
      ======================================== ======= ==================
      foreach() hat zwei Verwendungszwecke:
      1: foreach(array_name as $value){
      Anweisung;
      }
      Der Array-Name ist hier der Name des Arrays, das Sie durchlaufen möchten. In jeder Schleife wird $value der Wert des aktuellen Elements des Arrays Array-Name und der darin enthaltene Index 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){                                                                              Zusätzlich zum Wert des Elements, das $value zugewiesen wird, wird in jeder Schleife auch der Schlüsselwert des aktuellen Elements 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 stellt die Verwendung und Beispiele von PHP foreach vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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