当前位置:首页 > PHP教程 > php应用 > 列表

PHP中的静态变量及static静态变量使用详解

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-25 13:49:43 浏览: 评论:0 

这篇文章主要 绍了PHP中的静态变量及static静态变量使用详解的相关资料,需要的朋友可以参考下。

静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中。一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会。就是说,下次再调用这个函数的时候,该变量的值会保留下来。

只要在变量前加上关键字static,该变量就成为静态变量了。

  1. <?php 
  2.   function test() 
  3.   { 
  4.     static $nm = ; 
  5.     $nm = $nm * ; 
  6.     print $nm."<br />"
  7.   } 
  8.   // 第一次执行,$nm =  
  9.   test(); 
  10.   // 第一次执行,$nm =  
  11.   test(); 
  12.   // 第一次执行,$nm =  
  13.   test(); 
  14. ?> 

程序运行结果:

函数test()执行后,变量$nm的值都保存了下来了。

在class中经常使用到静态属性,比如静态成员、静态方法。

Program List:类的静态成员

静态变量$nm属于类nowamagic,而不属于类的某个实例。这个变量对所有实例都有效。

::是作用域限定操作符,这里用的是self作用域,而不是$this作用域,$this作用域只表示类的当前实例,self::表示的是类本身。

  1. <?php 
  2.   class nowamagic 
  3.   { 
  4.     public static $nm = ; 
  5.     function nmMethod() 
  6.     { 
  7.       self::$nm += ; 
  8.       echo self::$nm . '<br />'
  9.     } 
  10.   } 
  11.   $nmInstance = new nowamagic(); 
  12.   $nmInstance -> nmMethod(); 
  13.   $nmInstance = new nowamagic(); 
  14.   $nmInstance -> nmMethod(); 
  15. ?> 

程序运行结果:

Program List:静态属性

  1. <?php 
  2.   class NowaMagic 
  3.   { 
  4.     public static $nm = 'www.nowamagic.net'
  5.     public function nmMethod() 
  6.     { 
  7.       return self::$nm
  8.     } 
  9.   } 
  10.   class Article extends NowaMagic 
  11.   { 
  12.     public function articleMethod() 
  13.     { 
  14.       return parent::$nm
  15.     } 
  16.   } 
  17.   // 通过作用于限定操作符访问静态变量 
  18.   print NowaMagic::$nm . "<br />"
  19.   // 调用类的方法 
  20.   $nowamagic = new NowaMagic(); 
  21.   print $nowamagic->nmMethod() . "<br />"
  22.   print Article::$nm . "<br />"
  23.   $nmArticle = new Article(); 
  24.   print $nmArticle->nmMethod() . "<br />"
  25. ?>

Tags: PHP静态变量 static静态变量

分享到:

相关文章