Array-Werte mit einer Foreach-Schleife ändern
Problem:
Beim Durchlaufen eines Arrays Bei Verwendung einer foreach-Schleife werden Änderungen an Array-Werten möglicherweise nicht berücksichtigt, wenn das Array in eine Zeichenfolge konvertiert wird. Wie kann das gelöst werden?
Lösung:
Um Änderungen an Array-Werten innerhalb einer foreach-Schleife dauerhaft zu machen, besteht der Trick darin, den tatsächlichen Speicherort der Werte zu ändern . Um dies zu erreichen, gibt es zwei Ansätze:
1. Speicherreferenz:
Indem Sie der Schleifenvariablen ein kaufmännisches Und (&) voranstellen, erstellen Sie eine Referenz auf das ursprüngliche Array-Element:
foreach ($bizaddarray as &$value) { $value = strip_tags(ucwords(strtolower($value))); }
Auf diese Weise werden alle vorgenommenen Änderungen berücksichtigt $value innerhalb der Schleife werden direkt im ursprünglichen Array widergespiegelt. Denken Sie daran, die Variable nach der Schleife zu deaktivieren, um die Referenz zu unterbrechen.
2. Quellarray:
Alternativ können Sie über eine Indexschleife direkt auf das Quellarray zugreifen:
foreach ($bizaddarray as $key => $value) { $bizaddarray[$key] = strip_tags(ucwords(strtolower($value))); }
Hier ermöglicht Ihnen die Variable $key, das entsprechende Element innerhalb des zu manipulieren Original $bizaddarray. Jede dieser Methoden ändert die Werte des Arrays sicher und stellt sicher, dass die HTML-Tags beim Konvertieren des Arrays in einen String dauerhaft entfernt werden.
Das obige ist der detaillierte Inhalt vonWie kann ich Array-Werte innerhalb einer Foreach-Schleife in PHP dauerhaft ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!