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 ("