Maison > développement back-end > Problème PHP > Quelle est la méthode d'écriture de php foreach

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

藏色散人
Libérer: 2023-03-10 20:42:01
original
1793 Les gens l'ont consulté

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

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); // 最后取消掉引用
?>
Copier après la connexion

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

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

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!

É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