我正在尝试访问包含include之后在include文件中定义的动态命名变量,例如:
require "/path/to/my/include.php"; echo $_VariableDefinedInInclude; // outputs the variable echo $GLOBALS["NameOfTheVariableDefinedInInclude"]; // nothing outputs?
知道为什么变量不在$ GLOBALS数组中?是否存在类似constant()的函数,但是对于标准变量,我可以使用它来通过名称动态访问变量吗?
由于
答案 0 :(得分:0)
$ GLOBALS数组仅适用于使用global关键字设置的变量。如果要包含另一个文件,则它与同一文件中的所有代码基本相同。换句话说,您仍然可以访问同一范围内的该变量。没有必要使用$ GLOBALS或任何东西。另外,如果该变量是常量,则可以使用const(PHP 5.3)或define('KEY',$ val)将其定义为常量。
答案 1 :(得分:0)
鉴于该变量是动态命名的,可能是:
echo $GLOBALS[$GLOBALS["NameOfTheVariableDefinedInInclude"]];
会做到这一点。