loop foreach e referência de & $ value
Por que um loop foreach vazio pode alterar o resultado.
Eu tenho o seguinte código:
$variable = [1,2,3,4];
foreach ($variable as $key => &$value)
$value ++;
var_dump($variable);
O resultado que recebo é:
array (size=4)
0 => int 2
1 => int 3
2 => int 4
3 => &int 5
Agora, quando adiciono um loop foreach vazio como este:
$variable = [1,2,3,4];
foreach ($variable as $key => &$value)
$value ++;
foreach ($variable as $key => $value);
var_dump($variable);
Eu entendi isso :
array (size=4)
0 => int 2
1 => int 3
2 => int 4
3 => &int 4
alguém pode me explicar por que o último elemento não muda quando adiciono o segundo loop vazio e por que há um & na frente do último elemento?