$GLOBALS 里是不是包含了 $_GET 的值?比如 $_GET['t'] 是不是 和 $GLOBALS['t'] 一样?
课时我这么写:<?phpif(isset($GLOBALS['t']))
echo $GLOBALS['t'];exit($_GET['t']);?>当打开 test.php?t=fuck 的时候,只 fuck 一下, 没有第二个 fuck ?囧 。。 到底应该怎么理解?
课时我这么写:<?phpif(isset($GLOBALS['t']))
echo $GLOBALS['t'];exit($_GET['t']);?>当打开 test.php?t=fuck 的时候,只 fuck 一下, 没有第二个 fuck ?囧 。。 到底应该怎么理解?
要令全部变量生效。需设置php.ini中 register_globals = On 才行。
参见:http://php.net/manual/zh/reserved.variables.globals.php
$_GET 存放的是通过 url 传入的变量如果 $GLOBALS 里包含 $_GET 的值,就表示用传入的值替代程序定义的值
由此可能引发一些不是期望的操作
Array (
[GLOBALS] => Array *RECURSION*
[_POST] => Array ( )
[_GET] => Array ( )
[_COOKIE] => Array ( )
[_FILES] => Array ( )
[_SERVER] => Array()
)
LZ 看出来了没?$GLOBALS 一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
<a href=test.php?t='fuck'>123</a>
<?phpif(isset($GET['t']))
$GLOBALS['t']='fuck2';echo '$GLOBALS['.'t'.']='.$GLOBALS['t'];exit($_GET['t']);
?>输出 123
点击后输出 123 $GLOBALS[t]=fuck2 fuck
打印过了,没输出,我一开始以为 $GLOBALS['TotalResult'] 和 $_GET['TotalResult'] 是同一个概念,看来我理解错了