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


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

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

私有变量 php foreach 数组

bilou 9 years, 3 months ago

$$这个是可变变量的用法,$$key 等价于 $a($key = 'a'),然后此时的$v又等于'aa',然后就$a = 'aa';相当于在循环体内定义一个一个$a的变量赋值了 ‘aa’。。。

flyaway answered 9 years, 3 months ago

眼花了吧...


 $key  ===> 'a'
$$key ===> $a

$v 才是 'aa'

YYlong answered 9 years, 3 months ago

$v='aa',$key ='a',$$key = $a,$key = $v 所以$a = 'aa'.

妹系丶文杰 answered 9 years, 3 months ago

Your Answer