Heim > Backend-Entwicklung > PHP-Problem > So ändern Sie den Wert in PHP foreach

So ändern Sie den Wert in PHP foreach

藏色散人
Freigeben: 2023-03-12 13:04:02
Original
2419 Leute haben es durchsucht

So ändern Sie den Wert von PHP foreach: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Ändern Sie sie mit „foreach($array as $k => $v){$v = 1;}“.

So ändern Sie den Wert in PHP foreach

Die Betriebsumgebung dieses Artikels: Windows7-System, PHP7.1-Version, DELL G3-Computer

Wie ändere ich den Wert von PHP foreach?

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

Schauen Sie sich die Seite „foreach“ der PHP-Dokumentation an und schreiben Sie Folgendes: „Die foreach-Syntaxstruktur bietet eine einfache Möglichkeit, das Array zu durchlaufen. foreach kann.“ nur auf Arrays und Objekte angewendet werden, wird eine Fehlermeldung ausgegeben, wenn Sie versuchen, es auf eine Variable eines anderen Datentyps oder eine nicht initialisierte Variable anzuwenden. Es gibt 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 angegebene array_expression-Array Jedes Mal in der Schleife zugewiesen, bewegt sich der Zeiger innerhalb des Arrays einen Schritt vorwärts (sodass die nächste Zelle in der nächsten Schleife abgerufen wird).

Das zweite Format macht dasselbe, außer dass der Schlüsselname des Die aktuelle Zelle wird auch jedes Mal in der Schleife aktualisiert. „

Dann“ durchläuft das erste Format das angegebene array_expression-Array. In jeder Schleife wird der Wert der aktuellen Zelle zugewiesen Der Zeiger innerhalb des Arrays bewegt sich einen Schritt vorwärts (die nächste Einheit wird also in der nächsten Schleife erhalten) „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 Wirkung 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? Gehen Sie dazu wie folgt vor:

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

Obwohl $k und $v ebenfalls kopiert werden, ist der Wert des kopierten $k 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.

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo ändern Sie den Wert in PHP foreach. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Aktuelle Ausgaben
Schleifenproblem, foreach
Aus 1970-01-01 08:00:00
0
0
0
Brechen von if und foreach
Aus 1970-01-01 08:00:00
0
0
0
Laravel updateOrInsert verarbeitet foreach
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage