返回所有已定义变量的数组

时间:2015-01-04 18:39:21

标签: php arrays variables token server

我正在尝试将所有php定义的变量放入数组中。

我在尝试:

$myArr = get_defined_vars();
var_dump($myArr);

结果:

array(4) { ["_GET"]=> array(0) { } ["_POST"]=> array(0) { } ["_COOKIE"]=> array(0) { } ["_FILES"]=> array(0) { } } 

但是我希望得到所有php定义的变量:

_SERVER["MIBDIRS"]    
_SERVER["MYSQL_HOME"]    
_SERVER["OPENSSL_CONF"]    
_SERVER["PHP_PEAR_SYSCONF_DIR"]    
_SERVER["PHPRC"]
_SERVER["TMP"]    
_SERVER["HTTP_HOST"]   
_SERVER["HTTP_USER_AGENT"]    
_SERVER["HTTP_ACCEPT"]    
_SERVER["HTTP_ACCEPT_LANGUAGE"]    
_SERVER["HTTP_ACCEPT_ENCODING"]    
_SERVER["HTTP_CONNECTION"]  
_SERVER["PATH"]    
_SERVER["SystemRoot"]    
_SERVER["COMSPEC"]    
_SERVER["PATHEXT"]   
_SERVER["WINDIR"]    
_SERVER["SERVER_SIGNATURE"]    
_SERVER["SERVER_SOFTWARE"]    
_SERVER["SERVER_NAME"]   
_SERVER["SERVER_ADDR"]    
_SERVER["SERVER_PORT"]   
_SERVER["REMOTE_ADDR"]   
_SERVER["DOCUMENT_ROOT"]    
_SERVER["REQUEST_SCHEME"]    
_SERVER["CONTEXT_PREFIX"]    
_SERVER["CONTEXT_DOCUMENT_ROOT"]    
_SERVER["SERVER_ADMIN"]    
_SERVER["SCRIPT_FILENAME"]    
_SERVER["REMOTE_PORT"]    
_SERVER["GATEWAY_INTERFACE"]    
_SERVER["SERVER_PROTOCOL"]    
_SERVER["REQUEST_METHOD"]    
_SERVER["QUERY_STRING"]    
_SERVER["REQUEST_URI"]    
_SERVER["SCRIPT_NAME"]    
_SERVER["PHP_SELF"]    
_SERVER["REQUEST_TIME_FLOAT"]    
_SERVER["REQUEST_TIME"]    
$_POST   
$_GET   
$_FILES    
$_SERVER    
$_REQUEST    
$_SESSION    
$_COOKIE   
$_ENV    
$GLOBALS    
$argc    
$argv    
$this    
$php_errormsg    
$HTTP_SERVER_VARS    
$HTTP_POST_VARS   
$HTTP_POST_FILES    
//etc...

1 个答案:

答案 0 :(得分:1)

据我所知,get_defined_vars()或任何其他SPL功能无法实现。您应该手动检查$_SERVER和其他人。此外,通常您不会想要列出的所有变量,其中一些变量已被弃用或彼此等效。