Heim Backend-Entwicklung PHP-Problem So verwenden Sie foreach, um ein Array in PHP zu ändern

So verwenden Sie foreach, um ein Array in PHP zu ändern

Oct 06, 2020 pm 01:55 PM
foreach

So ändern Sie das Array mit PHP foreach: Erstellen Sie zunächst eine PHP-Beispieldatei und ändern Sie dann den Wert im angegebenen Array mit der foreach-Anweisung „foreach($array as $k => $v){$v = 1; }" .

So verwenden Sie foreach, um ein Array in PHP zu ändern

Empfohlen: „PHP-Video-Tutorial

Das Problem der Verwendung von foreach zum Ändern des Werts eines Arrays in PHP

Schauen Sie sich die Seite „foreach“ des PHP-Dokuments an und schreiben Sie Folgendes:

“Die Die foreach-Syntaxstruktur bietet eine einfache Möglichkeit zum Durchlaufen von Arrays. foreach kann nur auf Arrays und Objekte angewendet werden. Wenn Sie versuchen, es auf Variablen anderer Datentypen oder nicht initialisierte Variablen anzuwenden, gibt es zwei Syntaxen:

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement
Nach dem Login kopieren

Das erste Format iteriert über das gegeben. array_expression array. Bei jedem Durchlauf der Schleife wird der Wert der aktuellen Zelle $value zugewiesen und der Zeiger innerhalb des Arrays wird nach vorne verschoben (so dass die nächste Zelle in der nächsten Schleife erhalten wird)

Das zweite Format funktioniert das Gleiche, außer dass der Schlüsselname der aktuellen Einheit auch der Variablen $key in jeder Schleife zugewiesen wird und der Zeiger innerhalb des Arrays bewegt sich einen Schritt vorwärts (das nächste Element wird also in der nächsten Schleife abgerufen) „Was bedeutet das?“ Dies bedeutet, dass die Verwendung von foreach zum Durchlaufen eines Arrays eine Kopie des angegebenen Arrays und nicht das Array selbst bearbeitet. Genauso wie wenn man einen Klon von sich selbst hat, egal wie andere den Klon von dir schlagen oder treten, es wird keine Auswirkungen auf dich haben.

Zum Beispiel:

foreach($array as $k => $v){
  $v = 1;
}
Nach dem Login kopieren

Eine solche Änderungsmethode ändert $array nicht selbst, sondern ändert ein Array, das es kopiert. Obwohl es dasselbe ist, hat es keine Auswirkung auf $array.

Also was tun? Um dies zu tun:

foreach($array as $k => $v){
  $array[$k] = 1;
}
Nach dem Login kopieren

Obwohl $k wie $v kopiert wird, ist der Wert von $k, der kopiert wird, immer noch derselbe wie der Wert von $k im ursprünglichen Array, sodass dies erfolgreich sein wird.

Es gibt auch eine fortgeschrittenere Methode: Sie können die Elemente des Arrays einfach ändern, indem Sie & vor $v hinzufügen. Diese Methode weist einen Wert per Referenz zu, anstatt ihn zu kopieren. Zum Beispiel:

foreach($array as &$v){
  $v = 1;
}
unset($v); // 最后取消掉引用
Nach dem Login kopieren

Das wird erfolgreich sein.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie foreach, um ein Array in PHP zu ändern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So bestimmen Sie die Anzahl der foreach-Schleifen in PHP So bestimmen Sie die Anzahl der foreach-Schleifen in PHP Jul 10, 2023 pm 02:18 PM

So bestimmen Sie die Anzahl der foreach-Schleifen in PHP

Was ist der Unterschied zwischen der Verwendung von foreach und iterator zum Löschen von Elementen beim Durchlaufen von Java ArrayList? Was ist der Unterschied zwischen der Verwendung von foreach und iterator zum Löschen von Elementen beim Durchlaufen von Java ArrayList? Apr 27, 2023 pm 03:40 PM

Was ist der Unterschied zwischen der Verwendung von foreach und iterator zum Löschen von Elementen beim Durchlaufen von Java ArrayList?

PHP gibt ein Array mit umgedrehten Schlüsseln zurück PHP gibt ein Array mit umgedrehten Schlüsseln zurück Mar 21, 2024 pm 02:10 PM

PHP gibt ein Array mit umgedrehten Schlüsseln zurück

PHP gibt das aktuelle Element in einem Array zurück PHP gibt das aktuelle Element in einem Array zurück Mar 21, 2024 pm 12:36 PM

PHP gibt das aktuelle Element in einem Array zurück

Wie kann ich mit der Funktion forEach die Eigenschaften eines Objekts durchlaufen? Wie kann ich mit der Funktion forEach die Eigenschaften eines Objekts durchlaufen? Nov 18, 2023 pm 06:10 PM

Wie kann ich mit der Funktion forEach die Eigenschaften eines Objekts durchlaufen?

Was ist der Unterschied zwischen foreach und for-Schleife? Was ist der Unterschied zwischen foreach und for-Schleife? Jan 05, 2023 pm 04:26 PM

Was ist der Unterschied zwischen foreach und for-Schleife?

So erhalten Sie den Indexwert des aktuellen Elements in der PHP-Foreach-Schleife So erhalten Sie den Indexwert des aktuellen Elements in der PHP-Foreach-Schleife Mar 23, 2023 am 09:17 AM

So erhalten Sie den Indexwert des aktuellen Elements in der PHP-Foreach-Schleife

Was bedeutet PHP foreach? Was bedeutet PHP foreach? Mar 10, 2023 am 09:54 AM

Was bedeutet PHP foreach?

See all articles