PHP的可变变量
天下维客,你可以修改的网络知识库
| PHP变量简明教程 | PHP变量的作用范围 | PHP变量的声明 | PHP的预定义变量 | PHP变量函数 | PHP的外部变量 |
| PHP的可变变量 |
- 英文名称:Indirect Reference to Variables
- 中文名称:变量的间接引用,或称可变变量
在PHP中,变量名可以通过另外一个变量进行动态设置和使用。例如:
<?php $a = 'hello'; $$a = 'world'; //本句相当于 $hello='world' echo $$a; echo $hello; ?>
如例子所示,$$a就是一个可变变量,其真正的变量名为$a的内容,即hello。例子中的后面两句会输出同样的结果。
[编辑]
关于可变变量的说明
- 变量的间接引用没有层数限制,例如 $$$$$$$a 是合法的可变变量。
- 可变变量更像一个帽子戏法,会带来程序可读性的困难。多数情况下,都有简明的变量使用方式达成相同目的,此时不要使用可变变量。
[编辑]
可变变量的消歧义
对于可变变量在数组元素中的使用,使用“{}”来消解语义分歧。例如对于“$$a[1]”,应写为${$a[1]}或${$a}[1],以避免PHP解释器错误理解您的真实意图。


