随笔 - 317, 文章 - 0, 评论 - 453, 阅读 - 114万
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

PHP foreach &怪异问题

Posted on   PHP-张工  阅读(3368)  评论(2编辑  收藏  举报

猜猜一下PHP输出什么?$list = array();

$list[] = 'a1';
$list[] = 'a2';
$list[] = 'a3';
 
foreach ($list as &$r)
{
    //$r['vv'] = 'a';
}
 
//unset($r);
 
foreach ($list as $r)
{
    echo $r;
}

答案是:a1a2a2

郁闷啊。数组重新查找时,数组的最后两项就会指向同一个值。

官方的foreach说明 http://www.php.net/manual/zh/control-structures.foreach.php

解决办法是,在使用foreach($list as &$r){}unset($r) 就好了。但还是不明白为什么是后两个值会相同呢?

点击右上角即可分享
微信分享提示