请解释 PHP 中变量作用域的概念,并列举 PHP 支持的不同变量作用域类型。
考察说明
考查对 PHP 变量作用域概念及类型的理解。
回答思路
- 【回答框架 1】变量作用域指变量在脚本中可被访问的范围,由声明位置决定。PHP 中常见作用域包括局部、全局、静态和超全局。
- 【回答框架 2】局部作用域:在函数内部声明的变量,仅在该函数内可访问,函数外不可见。
- 【回答框架 3】全局作用域:在函数外部声明的变量,默认在函数内不可直接访问,需使用 global 关键字或 $GLOBALS 数组。
- 【回答框架 4】静态变量:在函数内用 static 声明,函数调用结束后保留值,下次调用继续使用。
- 【回答框架 5】超全局变量如 $_GET、$_POST 等,在任何作用域均可访问,无需特殊声明。
- 【关键点 1】函数内默认无法直接访问全局变量,需 global 或 $GLOBALS。
- 【关键点 2】static 变量保留函数多次调用间的值。
- 【关键点 3】超全局变量在任何作用域可用。
- 【易错点 1】混淆全局变量在函数内的直接访问,导致未定义变量错误。
- 【易错点 2】误以为 static 变量是全局可访问,实际仍限于函数内。