一道php引用问题
<?php
$arr = array('a','b','c');
foreach($arr as $key=>$val){
$val=&$arr[$key];
print_r($arr);
}
?>
执行结果为:
Array 第一次循环,使$val是$arr[0 ]的引用
(
[0 ] => a
[1 ] => b
[2 ] => c
)
Array 第二次循环,因为$arr[1 ]赋值给$val,而$val是$arr[0 ]的引用,因此数组被改变。 同样第二次循环使$val是$arr[1 ]的引用
(
[0 ] => b
[1 ] => b
[2 ] => c
)
Array 同理
(
[0 ] => b
[1 ] => c
[2 ] => c
)