Maison > Article > développement back-end > A quoi sert foreach en php
PHP 4 a introduit la structure foreach, un peu comme Perl et d'autres langages. C'est juste un moyen pratique de parcourir un tableau. foreach ne peut être utilisé qu'avec des tableaux et une erreur se produira lorsque vous tenterez de l'utiliser avec d'autres types de données ou une variable non initialisée. Il existe deux syntaxes, la seconde étant une extension moins importante mais utile de la première.
foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement
Le premier format parcourt le tableau array_expression donné. À chaque passage dans la boucle, la valeur de la cellule actuelle est affectée à $value et le pointeur à l'intérieur du tableau est avancé d'un pas (la cellule suivante sera donc obtenue dans la boucle suivante).
Le deuxième format fait la même chose, sauf que le nom de clé de la cellule actuelle est également attribué à la variable $key dans chaque boucle.
Recommandations associées : "Tutoriel d'introduction à PHP"
Regardons d'abord la première instruction. Cette instruction est relativement simple array_expression fait référence à une expression de tableau, comme $ The. L'instruction val obtiendra séquentiellement les valeurs du tableau et les enregistrera dans la variable $val. Cette méthode ne peut obtenir que les valeurs du tableau, mais pas la valeur d'index d'indice du tableau. Par exemple :
$myArray=array("1"=>"val1","2"=>"val2","3"=>"val3"); foreach($myArray as $val) { print($val." "); }
Le résultat sera affiché : val1 val2 val3
Regardons le deuxième format En plus d'obtenir la valeur des éléments du tableau comme le premier format, le. deuxième format peut , vous pouvez également obtenir la valeur d'index de l'élément et l'enregistrer dans la variable $key. Si la valeur d'index du tableau n'a pas été définie manuellement, elle reviendra à la valeur par défaut du système
<.>Voir l'exemple positif :Regardez d'abord un simple tableau unidimensionnel :
$myArray=array("1"=>"val1","2"="val2","3"=>"val3"); foreach($myArray as $key=>$val) { print($key."=>".$val.";"); }Le programme affichera : 1=>val1;2=>val2;3=> ;val3;, regardons un autre Un parcours de tableau bidimensionnel plus compliqué, le programme est le suivant :
$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>");Résultat de sortie :
·1 ·11=>val11 ·12=>val12 ·13=>val13 ·2 ·21=>val21 ·22=>val22 ·23=>val23 ·3 ·31=>val31 ·32=>val32 ·33=>val33ff6d136ddc5fdfeffaf53ff6ee95f185 sont des étiquettes utilisées pour afficher un point plein et un point creux. Petits points. Puisque ce qui précède est un tableau bidimensionnel, la valeur $val obtenue après le premier parcours sera un tableau, j'ai donc ajouté un jugement au parcours pour le parcours de tableau de deuxième niveau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!