获取 PHP 中所有全局变量的名称列表

Get a list of names of all global variables in PHP

我正在使用 Moodle,那里有很多全局变量,而且似乎没有合适的文档。首先我想像 "yeah just see what echo "<pre>",print_r($GLOBALS,1),"</pre>"; will yield"。但是当我尝试它时,我的浏览器在渲染时变得无响应并且渲染结果一团糟。不幸的是,我无法使用调试器,因为 xdebug 包不适用于我正在使用的发行版。 (交钥匙 Moodle 设备)

所以我的问题是:有没有办法只查看所有全局变量的名称,以便我可以单独检查它们?

正如您所指出的,$GLOBALS 实际上是查看所有全局变量的方法。

你的脚本死掉的原因是因为你有大量的变量,而且每个变量都可能有很多子对象(甚至可能是递归的)。

如果您只想要变量的 名称 的列表,只需执行 var_dump(array_keys($GLOBALS)).

使用get_defined_vars()获取该范围内的所有变量,这些变量可能在所有脚本或特定函数中。

echo '<pre>';
print_r(get_defined_vars());

也许 array_keys($GLOBALS)&

最简单的答案 - 打开 lib/setup。php,向下滚动到大约第 418 行,它们都在那里定义。

在您使用它的同时,Moosh 还可以生成一个文件,允许自动完成您 Moodle 站点中的所有 $CFG-> 变量(不是直接回答问题,但密切相关)。