Maison > développement back-end > tutoriel php > Pouvez-vous modifier des objets tableau dans une boucle PHP Foreach ?

Pouvez-vous modifier des objets tableau dans une boucle PHP Foreach ?

Mary-Kate Olsen
Libérer: 2025-01-01 09:59:09
original
681 Les gens l'ont consulté

Can You Modify Array Objects Within a PHP Foreach Loop?

Modification des valeurs de tableau dans une boucle Foreach

En PHP, vous travaillez souvent avec des tableaux d'objets et souhaitez effectuer des opérations sur chaque objet pendant une boucle foreach. Une tâche courante consiste à récupérer des données supplémentaires pour chaque objet et à mettre à jour ses propriétés.

Est-il possible de modifier des objets dans une boucle Foreach ?

Oui, vous pouvez modifier l'objet actuel dans une boucle foreach. Il existe deux approches :

1. Utilisation de la préservation de la clé du tableau :

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

Cette méthode préserve la clé du tableau, vous permettant de mettre à jour le tableau $questions d'origine.

2. Utilisation de l'affectation de référence :

foreach($questions as &$question){
Copier après la connexion

L'ajout de & avant $question crée une affectation de référence. Cela signifie que toutes les modifications apportées à $question dans la boucle seront reflétées dans le tableau $questions d'origine.

Quelle approche est recommandée ?

Pendant l'approche d'affectation de référence est plus concis, il est généralement recommandé d'utiliser la méthode de préservation des clés de tableau. En effet, il fournit un contrôle explicite sur les éléments du tableau qui sont modifiés.

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