加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com.cn/)- 云通信、区块链、物联平台、操作系统、高性能计算!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 函数中使用static变量

发布时间:2022-07-28 09:10:53 所属栏目:PHP教程 来源:互联网
导读:本文章来简单的介绍一下关于static变量在php函数中的用法,有需要了解的同学可参考一下. 实例代码如下: function sendHeader($num, $rtarr = null) { static $sapi = null; if ($sapi === null) { $sapi = php_sapi_name(); } return $sapi++; 看PW源码的时候
  本文章来简单的介绍一下关于static变量在php函数中的用法,有需要了解的同学可参考一下.
 
  实例代码如下:
 
  function sendHeader($num, $rtarr = null)  
  {      
  static $sapi = null;      
  if ($sapi === null)  
  {          
  $sapi = php_sapi_name();      
  }      
  return $sapi++;
  看PW源码的时候发现setHeader()函数中使用static关键字,很奇怪,以前也没这样用过.
 
  static用在函数里面,声明一次变量后,如果再次调用这个函数将会在初始值延续,如$sapi这里将累加.
 
  实例代码如下:
 
  ?echo sendHeader(1)."<br>";  
  echo sendHeader(2)."<br>";  
  echo sendHeader(3)."<br>";
   
  output:
  ?apache2handler  
  apache2handles  
  apache2handlet
  和global有点类似,但不同的是作用域.static只能作用于此函数.
 
  有点意思.需要深入研究.
 
  实例代码如下:
 
  class test  
  {  
  public static function a(){}  
  public function b(){}  
  }  
  $obj = new test;
  调用代码
 
  实例代码如下:
 
  test::a();  
  $obj->a();  
  $obj->b();
  变量范围的另一个重要特性是静态变量(static variable).静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失
 
  例子 使用静态变量的例子
 
  实例代码如下:
 
  <?php
     function test()
     {
     static $w3sky = 0;
     echo $w3sky;
     $w3sky++;
     }
     ?>
  现在,每次调用 test() 函数都会输出 $w3sky 的值并加一

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读