foreach-Schleife und Referenz von & $ value
Warum ist eine leere foreach-Schleife kann das Ergebnis ändern.
Ich habe folgenden Code:
$variable = [1,2,3,4];
foreach ($variable as $key => &$value)
$value ++;
var_dump($variable);
Das Ergebnis ist:
array (size=4)
0 => int 2
1 => int 3
2 => int 4
3 => &int 5
Wenn ich jetzt eine leere foreach-Schleife wie folgt hinzufüge:
$variable = [1,2,3,4];
foreach ($variable as $key => &$value)
$value ++;
foreach ($variable as $key => $value);
var_dump($variable);
Ich bekomme das:
array (size=4)
0 => int 2
1 => int 3
2 => int 4
3 => &int 4
Kann mir jemand erklären, warum sich das letzte Element nicht ändert, wenn ich die zweite leere Schleife hinzufüge, und warum es ein & vor dem letzten Element gibt?