在PHP中有没有办法转储“所有”变量名称及其相应的值?

时间:2009-06-17 03:46:43

标签: php debugging

如果标题看起来太模糊.. 嗯我想显示我用来生成页面的每个变量及其变量名称和值,是否可能以及如何?

    foreach($_SESSION as $varname => $value) {
        print "<b>".$varname."</b> = $value <br/>";
    }

^上面的示例是我用来显示所有会话变量的,如果我需要显示我设置的变量来显示页面怎么办?他们是以某种形式的阵列注册还是我也应该单独回应它们?

3 个答案:

答案 0 :(得分:32)

您可以使用get_defined_vars(),它将为您提供在调用函数的范围内声明的所有变量的数组,包括$_SESSION$_GET等全局变量。我建议像这样打印:

echo '<pre>' . print_r(get_defined_vars(), true) . '</pre>';

答案 1 :(得分:13)

最简单的方法是使用get_defined_vars()

来自文档

  

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

生成此数组的var_dump将为您提供一个扩展列表。

var_dump( get_defined_vars() );

答案 2 :(得分:2)

同一区域中的其他几个有趣的函数是get_defined_constants()和get_included_files()......