foreach($arr as &$value)
1. Das Referenzzuweisungssymbol & wandelt das aktuelle Element bei jeder Schleife in eine Adresse um. Die Variable $value ist die Adresse des entsprechenden Elements In der Schleife ist $value eine Adresse, die auf das letzte Element zeigt
2. Wenn ich das nächste Mal eine Schleife verwende und diese Methode foreach($arr as $value) verwende, wird es ein Problem geben, wenn foreach jedes Element dem nachfolgenden Element zuordnet $value-Variable
3. Daher lautet die Logik: Ändern Sie jedes Element auf das letzte Element des ursprünglichen Arrays, und die letzte Schleife ist immer das Ergebnis der vorherigen
4 Als Referenz verwenden Sie diese Form $arr[$key] Ändern Sie das ursprüngliche Array oder ändern Sie den Variablennamen in der nächsten Schleife
$nums=array(1,2,3); foreach($nums as &$v){ var_dump($v); } /* int(1) int(2) int(3) */ var_dump($nums); /* array(3) { [0]=> int(1) [1]=> int(2) [2]=> &int(3) } */ foreach($nums as $v){ var_dump($v); } /* int(1) int(2) int(2) */
[Verwandte Tutorials: PHP Video-Tutorial]
Das obige ist der detaillierte Inhalt von[PHP] Probleme bei der Referenzzuweisung in der foreach-Schleife. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!