kla*_*ang 1 php arrays foreach
下面这段PHP代码将破坏数组的最后一个元素
<?php
$arr = array('A','B','C','D','E');
foreach ($arr as &$val) {}
foreach ($arr as $val) {}
print_r($arr);
?>
Run Code Online (Sandbox Code Playgroud)
输出是:
Array
(
[0] => A
[1] => B
[2] => C
[3] => D
[4] => D
)
Run Code Online (Sandbox Code Playgroud)
可以通过unset($val);在两个foreach语句之间调用来修复代码.
为什么最后一个元素被破坏?