PHP预定义变量有哪些_PHP预定义变量功能说明【汇总】

2次阅读

php预定义变量分为超全局数组(如$_get、$_post、$_server等)、独立变量(如$globals、$php_Errormsg)和魔术常量(如__file__、__line__),各自承担请求处理、环境访问与上下文信息获取功能。

PHP预定义变量有哪些_PHP预定义变量功能说明【汇总】

PHP 提供了一系列预定义变量,用于访问请求数据、服务器信息、会话状态、环境参数等。这些变量在脚本执行时自动可用,无需显式声明。以下是 PHP 中主要预定义变量的分类说明与功能解析:

一、超全局数组变量

超全局数组在所有作用域中均可直接访问,不依赖 global 关键字。它们是 PHP 最核心的预定义变量集合。

1、$_GET:包含通过 URL 查询字符串(GET 方法)传递的所有参数,键值对形式存储。

2、$_POST:包含通过 http POST 方法提交的表单数据,适用于密码、文件上传等敏感或较大体积的数据传输。

立即学习PHP免费学习笔记(深入)”;

3、$_REQUEST:默认合并了 $_GET、$_POST 和 $_cookie 的内容,顺序由 php.ini 中 request_order 设置决定,不建议直接依赖,因来源混杂易引发安全风险。

4、$_SERVER:包含服务器和执行环境信息,如 $_SERVER[‘HTTP_USER_AGENT’] 获取客户端浏览器标识,$_SERVER[‘REQUEST_URI’] 获取当前请求路径及查询字符串。

5、$_SESSION:用于存储用户会话数据,需先调用 session_start() 初始化会话后方可读写。

6、$_COOKIE:接收客户端发送的 Cookie 数据,键名为 Cookie 名称,值为对应字符串内容,未经验证不可信

7、$_FILES:处理文件上传时的元数据,每个上传字段对应一个二维数组,含 name、type、tmp_name、error、size 等子键。

8、$_ENV:包含系统环境变量,是否启用取决于 php.ini 中 variables_order 设置,在现代 PHP 部署中常被禁用

二、其他预定义变量

除超全局数组外,PHP 还提供若干独立预定义变量,具有特定用途和作用域限制。

1、$GLOBALS关联数组,键名为全局作用域中所有变量名,值为对应变量值,可用来访问任意全局变量,例如 $GLOBALS[‘myVar’] 等价于全局 $myVar。

2、$_PHP_SELF:已废弃,其功能由 $_SERVER[‘PHP_SELF’] 完全替代,表示当前正在执行脚本的文件名。

3、$_HTTP_*_VARS:PHP 4.1.0 之前使用的旧式变量(如 $_HTTP_GET_VARS),自 PHP 5.0 起被弃用,不得在新代码中使用

4、$php_errormsg:仅在 track_errors = On 时有效,保存上一次错误发生的文本消息,非超全局,仅在错误发生的作用域内可见

5、$http_response_header:执行 file_get_contents() 或其他 HTTP 流操作后,自动填充响应头数组,仅在当前作用域存在

三、常量类预定义变量

PHP 启动时定义了一批魔术常量,虽以常量形式存在,但行为类似动态变量,其值随上下文变化。

1、__LINE__:返回当前代码所在文件的行号,整型值。

2、__FILE__:返回当前文件的完整绝对路径,含文件名。

3、__DIR__:返回当前文件所在目录的绝对路径,等价于 dirname(__FILE__)。

4、__FUNCTION__:返回当前函数名称,匿名函数中为空字符串。

5、__CLASS__:返回当前类的名称,包括命名空间前缀,Trait 中返回使用该 Trait 的类名。

6、__TRAIT__:返回当前 Trait 的名称,含命名空间。

7、__METHOD__:返回当前方法的名称,格式为 “类名::方法名”。

8、__NAMESPACE__:返回当前命名空间的名称,全局作用域中为空字符串。

text=ZqhQzanResources