$arr = array(0,1,2,3,4,5);
$ref = &$arr;
foreach($arr as $value){
$arr = array();
echo $value;
}
在 PHP7.0 中, 输出 012345, 而在 PHP 5 中 输出 0. PHP7.0 提及到 foreach 改变的有三点.
foreach 不再改变内部数组指针.
foreach 通过值遍历时,操作的值为数组的副本
foreach 通过引用遍历时,有更好的迭代特性
看到第二点有点懵, 我看一些资料都说 PHP 5 在 foreach 是操作数组副本的, 那么官方手册写这句话有什么含义还是有所变化? 为什么会导致 PHP7.0 和 PHP 5 的结果截然不同?