> 文档中心 > PHP基本语法——static:静态变量

PHP基本语法——static:静态变量


PHP基本语法——static:静态变量

静态变量是一个特殊的局部变量,通过前面的学习我们知道,在函数内部定义一个局部变量,函数调用结束之后这个变量就会被销毁,不能继续使用了。而静态变量不同,静态变量在初始化之后,会在程序运行期间会一直存在。

和局部变量相比,静态变量具有一下特点:

  • 当函数执行完毕后,静态变量不会消失;
  • 静态变量只能在函数内部使用;
  • 静态变量只会被初始化一次;
  • 静态变量初始化的值可以省略,默认值为 null;
  • 静态变量的初始值只能是具体的字符串、数值等,而不能是一个表达式。

注意:在函数外面使用静态变量时并不会报错,这时它的生命周期与作用域和全局变量是一样的;在函数内部定义静态变量时,它的生命周期也和全局变量一样,但是作用域和局部变量的作用域一样的。

静态变量并不是说它的值是不能改变的,不能改变值的那叫常量。 其实静态变量的值是可以改变的,而且它会保持最新的值。之所以称为静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,那么下次函数调用时,这个值是保持不变。

还有一点需要注意的是:静态变量虽然在程序的整个执行过程中始终存在,但是它的作用域和局部变量是一样的,在作用域之外是不能使用的。

说了这么多,那么要怎么定义一个静态变量呢?这是我们就需要用到 static 关键字了,使用方法如下: