我正在尝试将所有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...
答案 0 :(得分:1)
据我所知,get_defined_vars()
或任何其他SPL功能无法实现。您应该手动检查$_SERVER
和其他人。此外,通常您不会想要列出的所有变量,其中一些变量已被弃用或彼此等效。