那个在PHP脚本里无处不在的$_GET和$_POST,其实只是冰山一角,PHP的自带工具箱里藏着更多神奇宝贝等待发掘。
01 PHP预定义变量初探:程序员的“超能力”
每次写PHP代码,你都会不知不觉用到它们。那些以$_开头的变量,比如$_GET、$_POST、$_SERVER,就是PHP赠送给我们的超全局大礼包。
在PHP中,预定义变量也被称为超全局变量(superglobals)。这意味着它们在一个脚本的全部作用域中都可用,你不需要特别说明,就可以在函数及类中使用它们。
这些变量是PHP内置的全局变量集合,由服务器环境、HTTP请求及PHP运行时自动生成。
想象一下,如果没有这些预定义变量,我们要获取用户提交的表单数据,就得自己解析HTTP请求头,那将是多么繁琐的工作!
02 超全局变量全览:认识PHP的“九大金刚”
PHP的超全局变量家族共有九位核心成员,它们各司其职,共同构成了PHP与外界交互的桥梁。
这个家族包括:$GLOBALS、$_SERVER、$_REQUEST、$_POST、$_GET、$_FILES、$_ENV、$_COOKIE和$_SESSION。
$GLOBALS是一个特殊的家伙,它引用全局作用域中可用的全部变量。这意味着,在PHP中声明的任何全局变量都会自动成为$GLOBALS数组的一部分。
$a = 1;
$b = 2;
function sum() {
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}
sum();
echo $b; // 输出 3
在上面的例子中,我们在函数内部通过$GLOBALS访问并修改了全局变量$b的值,而不需要使用global关键字。
这九大超全局变量中,有些是“信息收集者”,如$_SERVER和$_ENV;有些是“数据传输者”,如$_GET、$_POST和$_REQUEST;还有些是“状态维持者”,如$_SESSION和$_COOKIE。
03 $_SERVER:你的服务器“身份证”
$_SERVER可能是最常用的预定义变量之一,它是一个包含了诸如头信息、路径和脚本位置等信息的数组。这个数组中的项目由Web服务器创建,不

最低0.47元/天 解锁文章
256

被折叠的 条评论
为什么被折叠?



