Cet article présente principalement comment utiliser foreach() en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
PHP 4 a introduit la construction 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.
Manuel recommandé :Manuel d'auto-apprentissage complet en php
Regardons d'abord la première déclaration. Cette déclaration est relativement simple. array_expression fait référence à Il s'agit d'une expression de tableau. L'instruction as $val obtiendra séquentiellement la valeur du tableau et l'enregistrera dans la variable $val. Cette méthode ne peut obtenir que la valeur 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 Le deuxième format peut être comme le premier format In. En plus d'obtenir la valeur de l'élément dans le tableau, vous pouvez également obtenir la valeur d'index de l'élément et la sauvegarder dans la variable $key. Si la valeur d'index du tableau n'a pas été définie manuellement, elle sera renvoyée au système. valeur de réglage par défaut ;
Regardez 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 ensuite un parcours de tableau bidimensionnel plus complexe, 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ésultats de sortie :
1 11=>val11 12=>val12 13=>val13 2 21=>val21 22=>val22 23=>val23 3 31=>val31 32=>val32 33=>val33
Puisque ce qui précède est un tableau à deux dimensions, 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.
Un autre exemple pour résoudre le puzzle
<?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>"; } ?>
La question est de savoir pourquoi la valeur dans le tableau de sortie $b doit être $b[$key] au lieu de $b[$value ]?
Pourquoi ça ?
$a = array("1"=>"语文","2"=>"数学","3"=>"英语");上面这个和下面这个是完全一样的 $a[1]="语文";$a[2]="数学"$a[3]=“英语”
Comment afficher le tableau ci-dessus ?
Ça doit être echo $a[1];
non ?
S’il n’y a aucun doute, continuons ! ! ! !
——————————————————————————————————————————
Dites simplement foreach
Le format est comme ceci foreach (nom du tableau en indice => valeur)
L'indice est le $a[1] ci-dessus , et le 1 ici est l'indice de la marque du tableau !
Vous devriez maintenant comprendre pourquoi $a[$key] est affiché comme ceci
Vous vous souvenez que peu importe la façon dont vous le modifiez, la méthode de sortie du tableau sera toujours $a[ 1], non C'est $a['langue']
================================ ======= ============================
foreach() a deux utilisations :
1: foreach(array_name as $value){ statement; }
Le array_name ici est le nom du tableau que vous souhaitez parcourir. Dans chaque boucle, la valeur de l'élément actuel du tableau array_name est affectée à $value, et l'indice. à l'intérieur du tableau descend d'un pas, c'est-à-dire revient en arrière pour obtenir l'élément suivant.
2:foreach(array_name as $key => $value){ statement; }
La différence entre cette méthode et la première est qu'il existe une clé $ supplémentaire, c'est-à-dire qu'en plus d'attribuer la valeur de l'élément actuel à $value, la valeur clé de l'élément actuel sera également attribué dans chaque boucle est affecté à la variable $key. La valeur clé peut être une valeur d'indice ou une chaîne.
Par exemple, "0" dans book[0]=1, "id" dans book[id]="001".
Articles connexes recommandés :
1.Deux utilisations de PHP foreach comme $key => $value
2.Compréhension approfondie de l'utilisation du tableau de boucles d'instructions foreach
Recommandations vidéo associées :
1.Tutoriel vidéo Dugu Jiujian (4)_PHP
Recommandations associées :
Comment implémenter un changement de skin en php basé sur les cookies
Ajout, suppression et modification de l'implémentation de mysql dans php Fonction de vérification
Méthodes PHP pour les opérations sur les chaînes
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!