Maison  >  Article  >  développement back-end  >  Résumé des exemples d'utilisation et d'extension de php foreach()

Résumé des exemples d'utilisation et d'extension de php foreach()

伊谢尔伦
伊谢尔伦original
2017-06-23 14:36:15959parcourir

PHP 4 a introduit la construction foreach, un peu comme Perl et d'autres langages. Il s'agit simplement d'un moyen pratique de parcourir un tableau. foreach ne peut être utilisé que sur des tableaux, et une erreur se produira lorsque vous tenterez de l'utiliser sur 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.

Regardons d'abord la première instruction. Cette instruction est relativement simple. array_expression fait référence à un tableau expression L'instruction as $val obtiendra séquentiellement la valeur du tableau et l'enregistrera dans. $val Dans les variables, 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 En plus d'obtenir les éléments du tableau comme le premier format, le second. format En plus de la valeur, la valeur d'index de l'élément peut également être obtenue et enregistrée dans la variable $key. Si la valeur d'index du tableau n'a pas été définie manuellement, la valeur du paramètre par défaut du système sera renvoyée
. Voir l'exemple positif :

Regardons 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ésultat de sortie :

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

ff6d136ddc5fdfeffaf53ff6ee95f185 et 25edfb22a4f469ecb59f1190150159c6 est une étiquette qui affiche un point plein et un point creux.
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 utilise $b[$key] au lieu de $b[$value] ?

Pourquoi ça ?

$a = array("1"=>"Chinese","2"=>"Mathématiques","3"=>"English");
Celui ci-dessus et le celui ci-dessous C'est exactement le même

$a[1]="Chinese";
$a[2]="Mathématiques"
$a[3]="English"

Comment afficher le tableau ci-dessus ?

Ce doit être echo $a[1];

———————————————————————————— ———————————————— -

En termes simples, foreach

son format est comme ceci foreach (nom du tableau en indice => valeur)

l'indice est Dans $a[1] ci-dessus, le 1 ici est l'indice du tableau !

Vous devriez maintenant comprendre pourquoi $a[$key] est affiché comme ceci

N'oubliez pas 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".

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn