当前位置:编程学习 > php >>

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];
}

追问:还一个问题,双引号内部的符号怎么理解,A-z是指A-Z中的字母,其他的符号呢? "^\_[A-Z]+" 

答案:$$标识为可变变量,变量名可动态设置与使用.

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数组第一项作为可变变量,后者为可变变量的第一个索引值

 

 

 

 

比如 $a=b;
$b =7;
那么$$a == 7 为真
上边的俩个题好像是要把$_POST he $_GET 中的变量 移出来,移到全局变量范围内,不用再加$_POST['a'] 直接$a 就可以了

上一个:如何在win下配置apache+php+mysql
下一个:有C语言和C++基础自学PHP难度大不大?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,