Maison  >  Article  >  développement back-end  >  Explication détaillée de PHP foreach traversant des tableaux

Explication détaillée de PHP foreach traversant des tableaux

PHPz
PHPzoriginal
2017-04-04 11:29:584192parcourir

Qu'est-ce que PHP foreach ?

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

Deux syntaxes pour PHP foreach

Il existe deux syntaxes, la seconde est moins importante mais est une extension utile de la première.

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

    foreach (array_expression as $value)
      statement
  • Le deuxième format fait la même chose, sauf que le nom de clé de la cellule actuelle sera également attribué à la variable $key dans chaque boucle.
    Depuis PHP 5, il est également possible de parcourir des objets.

    foreach (array_expression as $key => $value)
      statement

Remarque : lorsque foreach commence à s'exécuter, le pointeur à l'intérieur du tableau pointe automatiquement vers la première unité. 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. foreach a des effets secondaires sur les pointeurs de tableau. Ne vous fiez pas à la valeur d'un pointeur de tableau pendant ou après une boucle foreach à moins qu'il ne soit réinitialisé.
Depuis PHP 5, il est facile de modifier les éléments d'un tableau en faisant précéder $value de &. 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).

<?php
foreach (array(1, 2, 3, 4) as &$value) {
    $value = $value * 2;
}
?>

 

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