PHP中变量的作用域指的是变量可以访问的范围。PHP支持三种作用域:局部作用域、全局作用域和静态作用域。以下将通过实例表格的形式来展示这些作用域的使用。
局部作用域(Local Scope)
局部作用域的变量只在函数内部有效。

| 作用域 | 变量名 | 值 | 可见性 |
|---|---|---|---|
| 局部 | $localVar | 10 | 函数内部 |
| 局部 | $localVar | 20 | 函数内部 |
```php
function myFunction() {
$localVar = 10; // 局部作用域
echo $localVar; // 输出:10
}
myFunction(); // 输出:10
echo $localVar; // 输出:Notice: Undefined variable: localVar
```
全局作用域(Global Scope)
全局作用域的变量在函数外部声明,并在整个脚本中都可以访问。
| 作用域 | 变量名 | 值 | 可见性 |
|---|---|---|---|
| 全局 | $globalVar | 30 | 全局作用域 |
| 全局 | $globalVar | 40 | 全局作用域 |
```php
$globalVar = 30; // 全局作用域
function myFunction() {
global $globalVar; // 在函数内访问全局变量
echo $globalVar; // 输出:30
}
myFunction(); // 输出:30
echo $globalVar; // 输出:30
```
静态作用域(Static Scope)
静态作用域的变量在函数外部不可访问,但可以保留其值,直到脚本执行结束。
| 作用域 | 变量名 | 值 | 可见性 |
|---|---|---|---|
| 静态 | $staticVar | 50 | 函数内部 |
| 静态 | $staticVar | 60 | 函数内部 |
```php
function myFunction() {
static $staticVar = 50; // 静态作用域
echo $staticVar; // 输出:50
$staticVar++; // 变量值增加
}
myFunction(); // 输出:50
myFunction(); // 输出:51
```
通过以上实例表格和代码,我们可以清楚地看到PHP中不同作用域的使用及其可见性。









