PHP面试题更新 2026-08-05

请说明PHP中常见的预定义变量有哪些,并逐一解释它们的用途。

技术原理PHP

考察说明

考察对PHP预定义变量(超全局变量)的熟悉程度及其在实际编程中的作用。

回答思路

  1. 【回答框架 1】PHP预定义变量是指脚本运行时自动定义的一组全局数组,主要用于收集来自不同来源的数据,如请求、会话、环境等。它们可以在脚本的任何作用域直接使用,无需声明。
  2. 【回答框架 2】常见的预定义变量包括:$_GET(通过URL参数传递的数据)、$_POST(通过HTTP POST方法提交的数据)、$_REQUEST(包含$_GET、$_POST和$_COOKIE的数据)、$_FILES(上传文件的信息)、$_COOKIE(客户端Cookie数据)、$_SESSION(会话数据)、$_SERVER(服务器和环境信息)、$_ENV(环境变量)、$GLOBALS(所有全局变量的引用)。
  3. 【回答框架 3】不同预定义变量有明确分工:$_GET和$_POST用于获取客户端输入,需注意安全过滤;$_SESSION和$_COOKIE用于状态保持;$_SERVER常用于获取请求信息如URI、请求方法、客户端IP等;$GLOBALS便于在函数内访问全局变量,但过度使用会影响代码可读性。
  4. 【回答框架 4】使用时应根据数据来源选择对应变量,例如读取URL参数用$_GET,读取表单POST数据用$_POST,上传文件用$_FILES。同时,$_REQUEST是合并结果,使用它可能引入安全隐患,建议优先明确使用$_GET或$_POST。
  5. 【关键点 1】超全局变量可在脚本任何作用域直接使用
  6. 【关键点 2】$_GET和$_POST用于获取请求数据,$_FILES用于上传文件
  7. 【关键点 3】$_SESSION和$_COOKIE用于状态持久化
  8. 【关键点 4】$_SERVER提供服务器及请求环境信息,$GLOBALS引用全局变量
  9. 【关键点 5】避免依赖$_REQUEST,应明确使用具体超全局变量