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
Freigeben: 2025-01-01 09:59:09
Original
689 Leute haben es durchsucht

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']);
}
Nach dem Login kopieren

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){
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage