PHP foreach覆盖了以前的引用

时间:2012-05-09 11:02:56

标签: php reference foreach

  

可能重复:
  Strange behaviour after loop by reference - Is this a PHP bug?

考虑以下代码:

$start = array("a", "b", "c");  

foreach ($start as &$item) {}
foreach ($start as $item) {}

print_r($start);

当我遍历数组并使用元素作为参考,然后再次使用foreach时,但这次使用普通变量,但保持与refrence相同的变量名,输入数组的最后一个元素被内容覆盖上一个。

以上代码输出:

Array
(
    [0] => a
    [1] => b
    [2] => b
)

有人能解释我为什么会这样吗?我想这是一个内存寻址问题,但在这种现象中找不到任何逻辑。幕后究竟是怎么回事?

0 个答案:

没有答案