如何获取当前范围/符号表中定义的所有变量?

时间:2009-04-04 21:30:28

标签: php debugging scope

PHP中是否有一个函数和/或对象和/或扩展,可以让您查看当前作用域中定义的所有变量?类似的东西:

var_export($GLOBALS)

但仅显示当前符号表中的变量。

2 个答案:

答案 0 :(得分:61)

get_defined_vars

  

此函数返回一个多维数组,其中包含所有已定义变量的列表,无论是环境,服务器还是用户定义的变量,都在调用 get_defined_vars() 的范围内。

答案 1 :(得分:22)

get_defined_vars()完全符合您的要求。

  

此函数返回一个多维数组,其中包含所有已定义变量的列表,无论是环境,服务器还是用户定义的变量,都在调用 get_defined_vars()的范围内。

>>> function test($foo) { print_r(get_defined_vars()); }
>>> test('bar');
Array
(
    [foo] => bar
)