foreach - PHP中为什么数组中可变变量可以这么用?
程序员文章站
2022-06-01 17:56:24
...
$arr=array('a'=>'aa','b'=>'bb','c'=>'cc');
foreach($arr as $key=>$v){
$$key=$v;
}
echo $a;//aa
foreach($arr as $key=>$v){
$$key=$v;
}
echo $a;//aa
$$key然后变量应该是aa;但是输出a才有内容
回复内容:
$arr=array('a'=>'aa','b'=>'bb','c'=>'cc');
foreach($arr as $key=>$v){
$$key=$v;
}
echo $a;//aa
$$key然后变量应该是aa;但是输出a才有内容
眼花了吧...
$key ===> 'a'
$$key ===> $a
$v 才是 'aa'
$$这个是可变变量的用法,$$key 等价于 $a($key = 'a'),然后此时的$v又等于'aa',然后就$a = 'aa';相当于在循环体内定义一个一个$a的变量赋值了 ‘aa’。。。
$v='aa',$key ='a',$$key = $a,$key = $v 所以$a = 'aa'.