2

我正在尝试访问包含包含后在包含文件中定义的动态命名变量,例如:

要求“/path/to/my/include.php”;
回声 $_VariableDefinedInclude; // 输出变量
echo $GLOBALS["NameOfTheVariableDefinedInInclude"]; // 没有输出?

知道为什么变量不在 $GLOBALS 数组中吗?有没有像 constant() 这样的函数,但对于标准变量,我可以使用它来通过变量名动态访问变量?

谢谢

4

2 回答 2

0

鉴于变量是动态命名的,也许:

echo $GLOBALS[$GLOBALS["NameOfTheVariableDefinedInInclude"]];

会成功的。

于 2011-01-03T19:05:50.353 回答
0

$GLOBALS 数组仅适用于使用 global 关键字设置的变量。如果您包含另一个文件,则它本质上与代码都在同一个文件中相同。换句话说,您仍然可以在同一范围内访问该变量。没有必要使用 $GLOBALS 或任何东西。此外,如果该变量是常量,您可以使用 const (PHP 5.3) 或 define('KEY', $val) 将其定义为常量。

于 2010-11-02T00:26:09.263 回答