PHP Foreach通过引用传递:最后元素复制?(错误?)
我刚刚写了一个简单的PHP脚本,我有一些非常奇怪的行为。我把它减少到重新创建bug所需的最小值:
<?php
$arr = array("foo",
"bar",
"baz");
foreach ($arr as &$item) { /* do nothing by reference */ }
print_r($arr);
foreach ($arr as $item) { /* do nothing by value */ }
print_r($arr); // $arr has changed....why?
?>
这输出:
Array
(
[0] => foo
[1] => bar
[2] => baz
)
Array
(
[0] => foo
[1] => bar
[2] => bar
)
这是一个错误还是一些应该发生的奇怪行为?
侃侃尔雅
收到一只叮咚
跃然一笑