PHP静态变量.md PHP静态变量静态变量用修饰符static修饰的变量。**特点:**1、静态变量初始化后,不会再初始化该静态变量,也不能再向其赋初始化的值,否则编译报错。2、静态变量不会
> PHP静态变量 静态变量用修饰符static修饰的变量。 **特点:** 1、静态变量初始化后,不会再初始化该静态变量,也不能再向其赋初始化的值,否则编译报错。 2、静态变量不会随作用域结束后而销毁,并且保存最后的结果,供下次使用。常用于函数体内,处理递归问题。如: ``` function staticTest(){ static $stdigital = 0; $stdigital++; echo $stdigital; } staticTest(); //输出1;当一次执行完毕,函数的作用域消失,但static变量并没有消失 staticTest(); //输出2,static变量在上一次的基础上加1 ``` 3、静态变量只能接受值的形式赋值,不接受表达式赋值,否则编译报错。 如: $stdigital = 1+2; //错误 4、类中的静态成员变量,不专属某个实例,故不能用"$this->"和"对象->访问",只能用"类::"和"self::"访问。 ``` class StatciTest{ public static $stdigital = 0; function __construct(){ self::$stdigital += 1; } public function printStdigital(){ echo self::$stdigital; } } $testObj = new StaticTest(); $testObj->printStdigital(); //输出2 print StatciTest::$stdigital; //输出2 ```