цикл foreach и ссылка на & $ value

Почему пустой цикл 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

Может ли кто-нибудь объяснить мне, почему последний элемент не изменяется, когда я добавляю второй пустой цикл, и почему есть последний & infront последнего элемента?