$value)"."/> $value)".">

Maison  >  Article  >  développement back-end  >  Quelle est la méthode d'écriture de php foreach

Quelle est la méthode d'écriture de php foreach

藏色散人
藏色散人original
2021-06-24 11:25:201736parcourir

Il existe deux façons d'écrire PHP foreach, à savoir : 1. "foreach (iterable_expression as $value)" ; 2. "foreach (iterable_expression as $key => $value)".

Quelle est la méthode d'écriture de php foreach

L'environnement d'exploitation de cet article : système Windows7, version PHP7.1, ordinateur DELL G3

Quelle est la méthode d'écriture de php foreach ?

La structure syntaxique foreach fournit un moyen simple de parcourir un tableau. foreach ne peut être appliqué qu'aux tableaux et aux objets. Si vous essayez de l'appliquer à des variables d'autres types de données ou à des variables non initialisées, un message d'erreur sera émis. Il existe deux syntaxes :

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

Le premier format parcourt l'itérateur iterable_expression donné. À chaque passage de la boucle, la valeur de la cellule actuelle est affectée à $value.

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.

Notez que foreach ne modifie pas le pointeur interne du tableau utilisé par des fonctions comme current() et key().

Vous pouvez également personnaliser l'objet de traversée.

Vous pouvez facilement 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)
unset($value); // 最后取消掉引用
?>

Avertissement

La référence $value du dernier élément du tableau reste après la boucle foreach. Il est recommandé d'utiliser unset() pour le détruire. Sinon vous rencontrerez la situation suivante :

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// 现在 $arr 是 array(2, 4, 6, 8)
// 未使用 unset($value) 时,$value 仍然引用到最后一项 $arr[3]
foreach ($arr as $key => $value) {
    // $arr[3] 会被 $arr 的每一项值更新掉…
    echo "{$key} => {$value} ";
    print_r($arr);
}
// ...until ultimately the second-to-last value is copied onto the last value
// output:
// 0 => 2 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 2 )
// 1 => 4 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 4 )
// 2 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
// 3 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
?>

Vous pouvez parcourir les valeurs des constantes du tableau par référence :

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

Remarque :

foreach ne prend pas en charge la suppression avec " @" Capacités de message d'erreur.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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