将字符串转换为变量/类/方法的正确术语是什么?

时间:2011-02-19 13:42:16

标签: php

我知道这听起来很愚蠢,但人们问我这个问题,而且我没有正确答案。

$var = "var1";
$var1 = "hello";

echo $$var;

谢谢!

4 个答案:

答案 0 :(得分:5)

他们被称为variable variables

答案 1 :(得分:5)

答案 2 :(得分:1)

它可以被称为“错误的程序设计”和“学习数组的时间”

答案 3 :(得分:0)

使用另一个变量的值指定变量的机制称为variable variables

这似乎很酷。但我认为这是一种模糊的技术,并且还可以尝试使用一些危险的模式,例如将输入值导出到全局变量空间(就像register globals那样)。

变量变量也有一些限制:

  

请注意,变量变量不能与函数或类方法中的PHP's Superglobal arrays一起使用。变量$this也是一个无法动态引用的特殊变量。

这基本上描述了以下内容:

$name = '_GET';  // identifier of the superglobal $_GET
$args = $$name;

但是使用$GLOBALS array

还可以解决这个问题
$name = '_GET';
$args = $GLOBALS[$name];