Array-Werte in einer Foreach-Schleife ändern
In PHP arbeiten Sie häufig mit Arrays von Objekten und möchten dabei Operationen an jedem Objekt ausführen eine foreach-Schleife. Eine häufige Aufgabe besteht darin, zusätzliche Daten für jedes Objekt abzurufen und seine Eigenschaften zu aktualisieren.
Ist es möglich, Objekte in einer Foreach-Schleife zu ändern?
Ja, Sie können Änderungen vornehmen das aktuelle Objekt innerhalb einer foreach-Schleife. Es gibt zwei Ansätze:
1. Verwendung der Array-Schlüsselerhaltung:
foreach($questions as $key => $question){ $questions[$key]['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); }
Diese Methode behält den Array-Schlüssel bei, sodass Sie das ursprüngliche $questions-Array aktualisieren können.
2. Referenzzuweisung verwenden:
foreach($questions as &$question){
Durch das Hinzufügen von & vor $question wird eine Referenzzuweisung erstellt. Dies bedeutet, dass alle innerhalb der Schleife an $question vorgenommenen Änderungen im ursprünglichen $questions-Array widergespiegelt werden.
Welcher Ansatz wird empfohlen?
Während des Referenzzuweisungsansatzes Da es prägnanter ist, wird im Allgemeinen empfohlen, die Methode zur Erhaltung des Array-Schlüssels zu verwenden. Dies liegt daran, dass es eine explizite Kontrolle darüber bietet, welche Array-Elemente geändert werden.
Das obige ist der detaillierte Inhalt vonKönnen Sie Array-Objekte innerhalb einer PHP-Foreach-Schleife ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!