dump all global variables in PHP
Is it possible to dump all global variables in a PHP script?
Yes it is possible.
There is an easy solution to do that.
We can use get_defined_vars
and get_defined_constants
to get all the defined variables as well as constants and that will make the debugging really easy.
PHP get_defined_vars() Function
The get_defined_vars() function returns all defined variables, as an array.
This function returns a multidimensional array containing a list of all defined variables, be them environment, server or user-defined variables, within the scope that get_defined_vars() is called.
Syntax
Syntax is really simple as well.
get_defined_vars();
Example
$a = array("yogesh", "chauhan", ".com");
$arr = get_defined_vars();
print_r($arr["a"]);
//output
Array ( [0] => yogesh [1] => chauhan [2] => .com )
PHP get_defined_constants() Function
The get_defined_constants() Function returns an associative array with the names of all the constants and their values.
It returns the names and values of all the constants currently defined. This includes those created by extensions as well as those created with the define() function.
It returns an array of constant name => constant value array, optionally grouped by extension name registering the constant.
Syntax
get_defined_constants ([ bool $categorize = FALSE ] ) : array
Parameters
categorize: Causing this function to return a multi-dimensional array with categories in the keys of the first dimension and constants and their values in the second dimension.
Example
define("MY_CONSTANT", 1);
print_r(get_defined_constants(true));
//Output
Array
(
[Core] => Array
(
[E_ERROR] => 1
[E_WARNING] => 2
[E_PARSE] => 4
[E_NOTICE] => 8
[E_CORE_ERROR] => 16
[E_CORE_WARNING] => 32
[E_COMPILE_ERROR] => 64
[E_COMPILE_WARNING] => 128
[E_USER_ERROR] => 256
[E_USER_WARNING] => 512
[E_USER_NOTICE] => 1024
[E_ALL] => 2047
[TRUE] => 1
)
[pcre] => Array
(
[PREG_PATTERN_ORDER] => 1
[PREG_SET_ORDER] => 2
[PREG_OFFSET_CAPTURE] => 256
[PREG_SPLIT_NO_EMPTY] => 1
[PREG_SPLIT_DELIM_CAPTURE] => 2
[PREG_SPLIT_OFFSET_CAPTURE] => 4
[PREG_GREP_INVERT] => 1
)
[user] => Array
(
[MY_CONSTANT] => 1
)
)
debug functions get_defined_vars Global variables