L'instruction foreach en PHP répète un groupe d'instructions intégré pour chaque élément d'un tableau ou d'une collection d'objets. Elle est utilisée pour parcourir la collection afin d'obtenir les informations requises. Elle ne doit pas être utilisée pour modifier le contenu de. la collection pour éviter les effets secondaires imprévisibles. La syntaxe est "corps de boucle foreach (tableau en tant que variable)".
L'instruction foreach répète un groupe d'instructions incorporées pour chaque élément d'un tableau ou d'une collection d'objets. L'instruction foreach est utilisée pour parcourir une collection afin d'obtenir les informations requises, mais ne doit pas être utilisée pour modifier le contenu de la collection afin d'éviter des effets secondaires imprévisibles.
Catégories de langages de programmation applicables : Java, C#, PHP, langage D (bibliothèque Phobos).
L'instruction foreach est une nouvelle instruction de boucle en c#. Elle est particulièrement pratique pour traiter des types de données tels que des tableaux et des collections. Le format de syntaxe générale de l'instruction
foreach est le suivant :
foreach(数据类型 标识符 in 表达式) { 循环体2 }。
php 4 a introduit la structure foreach, qui est très similaire à 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.
Instruction foreach (array_expression as $value)
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).
instruction foreach (array_expression as $key => $value)
Le deuxième format fait la même chose, sauf que le nom de clé de l'unité actuelle sera également be in La variable $key est assignée à chaque boucle.
Depuis PHP 5, il est également possible de parcourir des objets. Remarque : lorsque foreach commence à s'exécuter, le pointeur à l'intérieur du tableau pointe automatiquement vers le premier élément. Cela signifie qu'il n'est pas nécessaire d'appeler reset() avant la boucle foreach.
Remarque : à moins que le tableau ne soit référencé, foreach opère sur une copie du tableau spécifié, pas sur le tableau lui-même. Par conséquent, le pointeur du tableau ne sera pas modifié par la structure each() et les modifications apportées aux unités du tableau renvoyées n’affecteront pas le tableau d’origine. Cependant, le pointeur interne du tableau d'origine avance pendant le traitement du tableau. En supposant que la boucle foreach se déroule jusqu'à la fin, le pointeur interne du tableau d'origine pointera vers la fin du tableau.
Depuis php 5, il est facile de modifier les cellules d'un tableau en ajoutant & avant $value. Cette méthode attribue par référence plutôt que de copier une valeur.
<?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6, 8) ?>
Cette méthode n'est disponible que lorsque le tableau parcouru peut être référencé (par exemple, il s'agit d'une variable).
Remarque : foreach ne prend pas en charge la possibilité de supprimer les messages d'erreur à l'aide de "@".
Les utilisateurs ont peut-être remarqué que les codes suivants ont les mêmes fonctions :
<?php $arr = array("one", "two", "three"); reset($arr); while (list(, $value) = each($arr)) { echo "Value: $value<br>/n"; }foreach ($arr as $value) { echo "Value: $value<br />/n"; } ?>
Les codes suivants ont également les mêmes fonctions :
<?php $arr = array("one", "two", "three"); reset($arr); while (list($key, $value) = each($arr)) { echo "Key: $key; Value: $value<br />/n"; }foreach ($arr as $key => $value) { echo "Key: $key; Value: $value<br />/n"; } ?>
Tutoriel recommandé : "php tuto》
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!