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

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

藏色散人
藏色散人Original
2020-10-06 13:55:512654Durchsuche

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

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;
}

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;
}

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); // 最后取消掉引用

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!

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