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