Better yet, use print_r. While var_dump does detect the recursion that var_export fails on, it seems to recurse one level first for my setup. So var_dump ends up printing all globals twice, but print_r prints them only once since it detects the recursion right away. Serialize seems to not detect the recursion at all either, similar to var_export.
$GLOBALS
$GLOBALS — References all variables available in global scope
Description
An associative array containing references to all variables which are currently defined in the global scope of the script. The variable names are the keys of the array.
Examples
Example #1 $GLOBALS example
<?php
function test() {
$foo = "local variable";
echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
echo '$foo in current scope: ' . $foo . "\n";
}
$foo = "Example content";
test();
?>
The above example will output something similar to:
$foo in global scope: Example content $foo in current scope: local variable
Notes
Note: This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. There is no need to do global $variable; to access it within functions or methods.
Note: Variable availability
Unlike all of the other superglobals, $GLOBALS has essentially always been available in PHP.
$GLOBALS
williams at 3cisd dot com
28-Jul-2009 08:53
28-Jul-2009 08:53
ravenswd at yahoo dot com
12-Aug-2008 06:02
12-Aug-2008 06:02
Keep in mind that $GLOBALS is, itself, a global variable. So code like this won't work:
<?php
print '$GLOBALS = ' . var_export($GLOBALS, true) . "\n";
?>
This results in the error message: "Nesting level too deep - recursive dependency?"
