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

伊谢尔伦
Libérer: 2023-03-11 08:58:02
original
1006 Les gens l'ont consulté

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
Copier après la connexion

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." ");
}
Copier après la connexion

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.";");
}
Copier après la connexion

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>");
Copier après la connexion

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
Copier après la connexion

    et
  • 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>";
    }
    ?>
    Copier après la connexion

    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;
      }
    Copier après la connexion

    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;  
     }
    Copier après la connexion

    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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal