PHP全局变量、局部变量和静态变量的用法(附带实例)
在 PHP 中,变量只有在定义后才能够被使用,但这并不意味着定义变量后就可以随时使用变量。变量只可以在其作用范围内被使用,这个作用范围称为变量的作用域。
在函数中定义的变量称为局部变量,函数执行完毕后,局部变量会被释放。在函数外定义的变量称为全局变量。
下面演示局部变量和全局变量的使用,示例代码如下:
下面定义一个实现计数功能的函数 num(),具体代码如下:
调用 num() 函数,具体代码如下:
在函数中定义的变量称为局部变量,函数执行完毕后,局部变量会被释放。在函数外定义的变量称为全局变量。
下面演示局部变量和全局变量的使用,示例代码如下:
function test() { $sum = 36; // 局部变量 return $sum; } $sum = 0; // 全局变量 echo test(); // 输出结果:36 echo $sum; // 输出结果:0在上述示例代码中,定义了函数 test(),在函数中定义了局部变量 $sum 的值为 36。第 6 行代码定义全局变量 $sum 的值为 0。第 7 行代码调用 test() 函数,输出的是局部变量 $sum 的值。第 8 行代码输出结果为 0,说明输出了全局变量 $sum 的值。
PHP静态变量
通过前面的学习可知,函数中的变量在函数执行完毕后会被释放。如果想在函数执行完毕后依然保留局部变量的值,可以利用 static 关键字在函数中将变量声明为静态变量。下面定义一个实现计数功能的函数 num(),具体代码如下:
function num() { static $i = 1; echo $i; ++$i; }在上述示例代码中,在变量 $i 前面添加 static 关键字,使变量 $i 成为静态变量。
调用 num() 函数,具体代码如下:
num();第 1 次调用 num() 函数输出 1,第 2 次调用 num() 函数输出 2,依次类推。