PHP中为什么数组中可变变量可以这么用?

<?php
$arr=array('a'=>'aa','b'=>'bb','c'=>'cc');
foreach($arr as $key=>$v){
$$key=$v;
}
echo $a;//aa

$$key然后变量应该是aa;但是输出a才有内容

阅读 4.4k
3 个回答

眼花了吧...

$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'.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题