猜猜一下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) 就好了。但还是不明白为什么是后两个值会相同呢?
欢迎转载,转载请注明:转载自[ http://www.cnblogs.com/zjfree/ ]
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号