PHP中$$的应用

PHP中$表示一个变量的声明,$value='test';表示变量value的值是test。

而$$则好像是C语言中的指针,它指向一个变量值的一个变量。

例如:$$value='a';这句话的意思就是首先取$value变量的值,为test,然后再将其值变成一个变量即表示为$test='a';

<?php
	$value='test';
	$test='a';
	echo $$value;
?>
<?php
	$value='test';
	$$value='a';
	echo $test;
 ?>

两个代码输出的值都是a。

这里举个很经典的例子作为他的应用:

我们经常会遇到通过HTTP GET请求和POST请求等提交很多参数,如下代码:

<?php
$action=$_GET[action];
$mid=$_GET[mid];
$keywords=$_GET[keywords];
if($action=='list'){
	echo "list";
 }
if($mid=='1'){
	echo "mid";
 }
if($keywords=='search'){
	echo "keywords";
 }
 ?>
我们想要从GET请求中获取变量action、mid、keywords的值,那么就需要分别建立三个赋值函数,从GET请求中获取出来,这样写起来非常的麻烦,而且不适合日后的扩展操作,这是我们引用$$魔法变量便可轻松的解决此问题,代码如下:

foreach ($_GET as $_key=>$_value){
	$$_key=$_value;
 }

这里就是首先吧$_GET请求变量以数组的形式赋值给$_key:$_value,比如我们提交url为?action=list,那么$_key的值就是action,$_value的值便是list,紧接着我们就使用魔法变量$$_key即变成$action的值为$_value即list,这样就将值list赋值给了变量$action,同样不管我们提交什么请求,他都能进行变量赋值操作,当然常规的写法还有很多种,如下:

foreach ($_GET as $_key=>$_value){
	$$_key=$_GET[$_key];
 }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值