zoukankan      html  css  js  c++  java
  • PHP变量的生命周期

    变量不仅有其特定的作用范围,还有其存活的周期--生命周期。变量的生命周期指的是变量可被使用的一个时间段,在这个时间段内变量是有效的,一旦超出这个时间段变量就会失效,我们就不能够再访问到该变量的值了。

    PHP对变量的生命周期有如下规定。

    局部变量的生命周期为其所在函数被调用的整个过程。当局部变量所在的函数结束时,局部变量的生命周期也随之结束。

    全局变量的生命周期为其所在的".php"脚本文件被调用的整个过程。当全局变量所在的脚本文件结束调用时,则全局变量的生命周期结束。

    有的时候某个自定义函数结束后,我们希望该函数内的变量仍然存在,这时就需要将这个变量声明为静态变量。将一个变量声明为静态变量的方法为,在变量前面加"static"关键字。

    应用静态变量的示例代码如下。

    <html>  
    <head>  
    <title>静态变量的应用</title>  
    </head>  
    <body>  
    <?php  
         function test(){  
              static $a = 0;      //定义一个静态变量a并赋初始值为0  
              echo $a."<br>";     //输出变量a的值  
              $a = $a+1;  
     //将变量a的值加1再次赋给变量a  
         }  
          test();             //调用函数test()  
          test();  
          test();  
          echo $a;                //$a,不在作用域下,不输出
      ?>  
    </body>  
    </html> 
    

    从上面得到的结果可以看出,每次调用函数test()的时候,变量a的值都会增加1。也就是说,每次调用函数结束以后,变量a都仍然存在。再次调用函数test()时,变量a将会使用上一次调用该函数后得到的值。同时从上面的例子我们也可以得出这样的结论,静态变量的作用范围与局部变量相同,但是生命周期与全局变量相同。

    我们可以这样理解静态变量。

    只有函数首次被调用时,才取函数体内静态变量的初始值。以后再次调用该函数时,静态变量将取上次调用这个函数后得到的值。

    在为静态变量赋初值的时候,不可以将一个表达式赋给该静态变量。

      

  • 相关阅读:
    java 实现N进制转M进制
    BigInteger构造函数解析
    SpringBoot 实现前后端分离的跨域访问(CORS)
    python:[numpy] ndarray 与 list 互相转换
    PyTorch使用GPU的方法
    Matplotlib.pyplot 把画图保存为图片 指定图片大小
    python列表中的所有值转换为字符串,以及列表拼接成一个字符串
    python 读取中文文件名/中文路径
    在Python中使用LSTM和PyTorch进行时间序列预测(深度学习时序数据预测)
    记录分析python程序运行时间的几种方法
  • 原文地址:https://www.cnblogs.com/mysic/p/4706210.html
Copyright © 2011-2022 走看看