PHP 问题:变量引用
问题
下面的代码片段打印了什么?
$a = 5; $b = 'a'; print $$b;
回答
这将打印“5”,因为$$b告诉PHP使用$b变量的值作为变量名,因此$b的值是'a'我们实际上是在查看$a的值;上面的$$b可以替换为$a并具有相同的输出。这个可变变量功能有点晦涩,但在某些情况下很有用。
这可以通过在变量名称前面添加更多美元符号来使用多级引用来访问变量,从而更进一步。以下所有内容都将打印出5,因为所有的打印语句都将指向变量$a。
$a = 5; $b = 'a'; $c = 'b'; $d = 'c'; $e = 'd'; $f = 'e'; print $$b; print $$$c; print $$$$d; print $$$$d; print $$$$$e; print $$$$$$f;