php 中的作用域分为块作用域和全局作用域。块作用域变量或函数仅在代码块内可访问,可用 use 关键字定义;全局作用域变量或函数可在整个脚本中访问,可用 global 关键字声明。块作用域变量优先级高于全局同名变量,但使用 global 关键字可在函数内访问外部全局变量。
PHP中的块作用域和全局作用域
PHP 的作用域定义了变量或函数的可访问范围。作用域可分为两种类型:
块作用域:仅在函数或其他代码块内可访问的变量或函数。
全局作用域:在整个脚本中可访问的变量或函数。
立即学习“PHP免费学习笔记(深入)”;
块作用域
要定义块作用域变量或函数,请在代码块的开头使用 use 关键字:
function myFunction() {
use($variable); // 使用外部块作用域变量
$variable = "局部变量"; // 定义局部块作用域变量
}
实战案例:
$globalVariable = "全局变量";
function test() {
global $globalVariable; // 访问外部全局作用域变量
$localVariable = "局部变量"; // 定义局部块作用域变量
echo $localVariable; // 输出:局部变量
echo $globalVariable; // 输出:全局变量
}
test();
全局作用域
要定义全局作用域变量或函数,请使用 global 关键字:
function myFunction() {
global $variable; // 声明外部全局作用域变量
$variable = "全局变量"; // 更改全局变量值
}
实战案例:
function test() {
$globalVariable = "全局变量"; // 定义全局变量
echo $globalVariable; // 输出:全局变量
}
test();
echo $globalVariable; // 输出:全局变量
注意:
- 块作用域变量或函数优先级高于全局同名变量或函数。
- 使用 global 关键字只能在函数内访问外部全局变量。
- 在块作用域内定义的全局变量将覆盖外部全局变量。