列出所有PHP变量

时间:2011-02-24 08:10:22

标签: php variables global-variables

是否可以在PHP脚本中转储所有全局变量?说这是我的代码:

<?php
$foo = 1;
$bar = "2";
include("blah.php");
dumpall();
// displays $foo, $bar and all variables created by blah.php

此外,是否可以在PHP脚本中转储所有已定义的常量。

2 个答案:

答案 0 :(得分:84)

使用get_defined_vars和/或get_defined_constants

$arr = get_defined_vars();
print_r($arr);

答案 1 :(得分:11)

当使用WinMerge(免费软件)等程序调试尝试查找差异时,看看各种数组和变量之间存在哪些差异,你想要ksort(),否则你会得到很多假阴性。它还有助于使用HTML pre元素进行可视化格式...

<?php
$everything = get_defined_vars();
ksort($everything);

?>

编辑:不得不回到这一点,并意识到我有一个更好的答案,$GLOBALS

$a = print_r(var_dump($GLOBALS),1);
echo '<pre>';
echo htmlspecialchars($a);
echo '</pre>';

编辑2:如果你正在使用的软件使用很多,那么提到的print_r()可能会导致内存不足。假设没有输出或明显截断,您可以访问php.ini文件,adjust the memory可以这样使用:

ini_set('memory_limit', '1024M');