PHP7中文手册2018 带注释 最新chm版
function Test()
{ $w3sky = 0; //普通变量 echo $w3sky.'<br/>'; $w3sky++; } echo Test(); //输出0 <?PHP /* static修饰的变量只被初始化一次, 并且保持最近的值,哪怕创建它的函数已经结束, 这个变量也不会被释放,下次调用是同一个地址,所以里面的值是上次的。 静态变量只存在于函数作用域内,静态变量只存活在栈中 一般的函数内变量在函数结束后会释放,比如局部变量, 静态变量会保存已有的变量结果,下次再调用时,该变量的值会保留下来。 如果在类中访问 有两种方法 self::$静态变量名 , 类名::$静态变量名 如果在类外访问: 有一种方法 类名::$静态变量名 */ function Test() { static $count = 0; $count=$count+2; echo $count.','; if ($count <10) { Test(); } } echo Test(); //结果集==>2,4,6,8,10, <?PHP class Child { public $name; public static $nums=0; //定义并初始化一个静态变量 $nums 参考链接:php静态变量初始化 function __construct($name) { $this->name=$name; } public function join_game() { //self::$nums 使用静态变量 self::$nums+=1; //如果在类中访问 有两种方法 self::$静态变量名 , 类名::$静态变量名 echo $this->name."加入堆雪人游戏".'<br/>'; } } //创建三个小孩 $child1=new Child("李逵"); $child1->join_game(); $child2=new Child("张飞"); $child2->join_game(); $child3=new Child("唐僧"); $child3->join_game(); //看看有多少人玩游戏 echo "<br/> 有这".Child::$nums; // 如果在类外访问: 有一种方法 类名::$静态变量名 /**结果集==> 李逵加入堆雪人游戏 张飞加入堆雪人游戏 唐僧加入堆雪人游戏 有这3 */
转载请注明:谷谷点程序 » php static静态变量的运用