$arr的值是什么,為什么?
<?php
$arr=[1,2,3];
foreach ($arr as &$v){
//nothing to do
}
foreach ($arr as $v){
//nothing to do
}
var_export($arr);
?>
答案: array ( 0 => 1, 1 => 2, 2 => 2, )
解析:
//這個過程相當(dāng)于
$arr=[1,2,3];
&$v=$arr[0];//$v成為$arr[0]的引用
&$v=$arr[1];//$v成為$arr[1]的引用
&$v=$arr[2];//$v成為$arr[2]的引用
//此處結(jié)束$arr=[1,2,3];
$v=$arr[0];//因為作用域被改變的原因,此處$v實際上是$arr[2]的引用,相當(dāng)于$arr[2]=$arr[0];$arr=[1,2,1];
$v=$arr[1];//相當(dāng)于$arr[2]=$arr[1];$arr=[1,2,2];
$v=$arr[2];//相當(dāng)于$arr[2]=$arr[2];$arr=[1,2,2];
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者