可变变量不仅难以使用,而且解释起来也比较复杂,所以你可能需要多读几遍本章节。可变变量允许你不用直接知道变量名就可以使用变量,相当于变量的间接引用。来看一下下面的代码:
<?php
$bar = 10;
$foo = "bar"
?>
这样我们就有两种方式来输出$bar
,一种是直接用$bar
,另一种是$$foo
,对,你没看错,有两个美元符号。
通过$$foo
的方式,PHP将会首先查找$foo
的内容,将其转换为字符串,之后再查找字符串所对应的变量名,最后返回变量的值。在上面的例子当中,$foo
是字符串bar
,PHP会查找$bar
并输出它的值,也就是10。
可变变量相当难用,或许在你束手无策的时候能有点用处。当然,你间接引用越多,代码月难以阅读。例如,下面的代码都输出了Variable!
,但我相信你也认为这个很难阅读。
<?php
$foo = "Variable!\n";
$bar = "foo";
$wom = "bar";
$bat = "wom";
print $foo;
print $$bar;
print $$$wom;
print $$$$bat;
?>