Почему пустой цикл foreach может изменить результат.
У меня есть следующий код:
$variable = [1,2,3,4];
foreach ($variable as $key => &$value)
$value ++;
var_dump($variable);
В результате получается
array (size=4)
0 => int 2
1 => int 3
2 => int 4
3 => &int 5
Теперь, когда я добавляю пустой цикл foreach, подобный этому
$variable = [1,2,3,4];
foreach ($variable as $key => &$value)
$value ++;
foreach ($variable as $key => $value);
var_dump($variable);
Я получаю это:
array (size=4)
0 => int 2
1 => int 3
2 => int 4
3 => &int 4
может кто-нибудь объяснить мне, почему последний элемент не изменяется, когда я добавляю второй пустой цикл, и почему существует и перед последним элементом?