Heim >Backend-Entwicklung >PHP-Tutorial >Können Sie Array-Objekte innerhalb einer PHP-Foreach-Schleife ändern?

Können Sie Array-Objekte innerhalb einer PHP-Foreach-Schleife ändern?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-01 09:59:09698Durchsuche

Can You Modify Array Objects Within a PHP Foreach Loop?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn