今天汉城跑到我们这里来问了个问题,下面的代码为啥第二次打印出:
Array
(
[a] => aa
[b] => bb
[c] => bb
)
代码:
<?php
$a = array('a' => 'aa',
'b' => 'bb',
'c' => 'cc',
);
foreach( $a as &$v){
;
}
print_r($a);
foreach( $a as $v){
}
print_r($a);
----------------------
仔细想想,其实是简单的引用问题,第一次foreach完毕,$v实际是$a['c']的引用,循环时,每次对$v的赋值都会会改变$a['c']的值,而最后一次对$v的赋值是$v=$a['c'],$a['c']在上一次被赋值为$a['b'],所以会会出现上述情况。
语法上的问题,总结的好。
@qfgz306 不是。。。
是不是重复调取呢