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

时间:2015-12-09 15:55:55

标签: php global-variables moodle

我正在使用Moodle,还有很多全局变量,似乎没有适当的文档。首先,我想“只是看看echo "<pre>",print_r($GLOBALS,1),"</pre>";会产生什么”。但是当我尝试它时,我的浏览器在渲染时变得没有响应,并且渲染结果很乱。不幸的是我没有可能使用调试器,因为xdebug包不适用于我正在使用的发行版。 (交钥匙Moodle设备)

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

4 个答案:

答案 0 :(得分:2)

也许是array_keys($ GLOBALS)&amp;

答案 1 :(得分:2)

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

虽然您正在使用它,Moosh也可以生成一个文件,允许自动完成所有$ CFG-&gt; Moodle网站中的变量(不直接回答问题,但密切相关)。

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

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

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