码迷,mamicode.com
首页 > 其他好文 > 详细

变量的生命周期

时间:2015-08-06 01:45:46      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:

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

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将会使用上一次调用该函数后得到的值。同时从上面的例子我们也可以得出这样的结论,静态变量的作用范围与局部变量相同,但是生命周期与全局变量相同。

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

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

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

  

变量的生命周期

标签:

原文地址:http://www.cnblogs.com/mysic/p/4706210.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!