我遇到了以下三行代码:
$_SERVER;
$_ENV;
$_REQUEST;
对我来说,这三行代码似乎什么也没做。它们不会导致任何错误。
我知道这三个全局变量是什么,只是不知道这三行代码在做什么。任何人都可以启发我吗?
整个文件 - 如果它是相关的:
<?PHP
function register_global_array( $sg ) {
Static $superGlobals = array(
'e' => '_ENV' ,
'g' => '_GET' ,
'p' => '_POST' ,
'c' => '_COOKIE' ,
'r' => '_REQUEST' ,
's' => '_SERVER' ,
'f' => '_FILES'
);
Global ${$superGlobals[$sg]};
foreach( ${$superGlobals[$sg]} as $key => $val ) {
$GLOBALS[$key] = $val;
}
}
function register_globals( $order = 'gpc' ) {
$_SERVER; //See Note Below
$_ENV;
$_REQUEST;
$order = str_split( strtolower( $order ) );
array_map( 'register_global_array' , $order );
}
register_globals('GPCFRES');
?>
不,下面没有任何注释。
他们显然做了一些事情,因为如果我删除它们,那么 foreach 行就会出错。