前循环和 &$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
有人可以解释为什么当我添加第二个空循环时,最后一个元素没有变化,以及为什么最后一个元素前面有一个&?