$arr = array('1','2','3'); foreach($arr as $key=>&$value){} foreach($arr as $key=>$value){}
var_dump($arr);
输出的结果居然是:
在foreach($arr as $key=>&$value) 数组遍历到最后,引用关系并没有断开,这时等同于 $value与 $arr 的最后一个单元即 $arr[2] 引用。array( 0 => string '1' 1 => string '2' 2 => &string '2' )
再到 foreach($arr as $k=>$value),$value的值一直随数组单元的值变,由于引用关系没有断开,$arr[2] 的值也跟着变化。一直到$arr遍历完,这时$value的值为2,所以$arr[2]值也为2。
foreach使用&引用传递过程
最新推荐文章于 2024-09-12 09:02:43 发布