Maison > développement back-end > tutoriel php > Comment modifier les valeurs d'un tableau dans une boucle PHP Foreach : référence ou clé ?

Comment modifier les valeurs d'un tableau dans une boucle PHP Foreach : référence ou clé ?

Linda Hamilton
Libérer: 2024-12-12 17:29:10
original
134 Les gens l'ont consulté

How to Modify Array Values in a PHP Foreach Loop: Reference or Key?

Modification des valeurs de tableau dans une boucle Foreach

En PHP, il est possible de modifier l'objet actuel manipulé dans une boucle foreach. Pour ce faire, il existe deux approches principales :

Utilisation d'une variable de boucle avec une clé de tableau :

<?php
foreach($questions as $key => $question){
    $questions[$key]['answers'] = $answers_model->get_answers_by_question_id($question['question_id']);
}
?>
Copier après la connexion

Ici, nous parcourons le tableau $questions à l'aide d'un variable de boucle ($key) qui représente l'index du tableau. En mettant explicitement à jour le tableau $questions à l'index correspondant ($key), nous modifions effectivement l'objet d'origine.

Utilisation d'une référence :

<?php
foreach($questions as &$question){
    $question['answers'] = $answers_model->get_answers_by_question_id($question['question_id']);
}
?>
Copier après la connexion

Dans ce Dans ce cas, nous ajoutons une esperluette (&) avant la variable de boucle ($question), qui transmet une référence à l'objet. En modifiant l'objet via la référence, nous mettons directement à jour l'objet dans le tableau $questions d'origine.

Quelle approche est recommandée ?

Bien que les deux approches fonctionnent, en utilisant un une variable de boucle avec une clé de tableau est généralement préférée. En effet, il met explicitement à jour le tableau d'origine, ce qui facilite le suivi des modifications pour le débogage ou un traitement ultérieur.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal