Comment utiliser foreach() en PHP

墨辰丷
Libérer: 2023-03-31 07:12:01
original
11723 Les gens l'ont consulté

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
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.

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

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.";");
}
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ésultats 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

    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 doit être $b[$key] au lieu de $b[$value ]?

    Pourquoi ça ?

    $a = array("1"=>"语文","2"=>"数学","3"=>"英语");上面这个和下面这个是完全一样的
    $a[1]="语文";$a[2]="数学"$a[3]=“英语”
    Copier après la connexion

    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;
      }
    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".

    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!

É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