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']); } ?>
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']); } ?>
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!