从 PHP 5.4 开始,您不能将超级全局变量用作函数的参数。这会导致致命错误
function foo($_GET) {
// 无论什么
}
这被称为“覆盖”超级全局变量,我不知道人们为什么要这样做,但我见过这种情况。简单的解决方法是在函数中将变量重命名为 $get,假设该名称是唯一的。
根据我的测试,在之前的 PHP 版本中没有发出弃用警告,包括 5.3 和 5.2。5.4 中的错误消息为
致命错误:无法重新分配自动全局变量 _GET in...
致命错误:无法重新分配自动全局变量 _COOKIE in...
等等。