php中的双美元符号$$符号什么意思?

源码foreach($_POST AS $_key=>$_value){
!ereg("^\_[A-Z]+",$_key) && $$_key=$_POST[$_key];
}
foreach($_GET AS $_key=>$_value){
!ereg("^\_[A-Z]+",$_key) && $$_key=$_GET[$_key];
}

$$标识为可变变量,变量名可动态设置与使用.php code:<?php$a ='hello';$hello ='world';echo $a.','.$$a;?>以上输出'hello,world'. $a普通变量值为hello,而$$a等同于 $($a),也就是把$a的变量值作为变量名,故结果自然输出hello,world这样在数组应用中会出现一个问题,$a[0]与$$a[0]就分不清楚了,到底是想$a[0]作为一个变量还是$$a作为一个变量取出第一个索引值呢,正规一点的写法为 ${$a[0]}, ${$a}[0].前者把$a数组第一项作为可变变量,后者为可变变量的第一个索引值
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-26
比如 $a=b;
$b =7;
那么$$a == 7 为真
上边的俩个题好像是要把$_POST he $_GET 中的变量 移出来,移到全局变量范围内,不用再加$_POST['a'] 直接$a 就可以了
相似回答