我确实对 Foreach 有问题,我无法理解第二个 foreach。
为什么 $foo 数组的第三部分的值是 'two'!
据我们所知,如果我们删除 '&'(在第一个 foreach 中),问题就会解决,但为什么呢?
<?php
$foo = array('one', 'two', 'three');
foreach ($foo as &$bar)
{
// no-op
}
var_dump($foo);
foreach ($foo as $bar)
{
// no-op
}
var_dump($foo);
?>
###############################################
产生:
array(3) {
[0]=>string(3) "one"
[1]=>string(3) "two"
[2]=>&string(5) "three"
}
array(3) {
[0]=>string(3) "one"
[1]=>string(3) "two"
[2]=>&string(3) "two"
}