在做网站中变量都必须在有效的范围内使用,如果超出有效范围,则变量就失去意义。变量的作用域如下表所示。
例如,在下面示例中,函数体内是无法引用全局变量的。
<?php$a = 1; //声明全局变量function test(){ echo $a; //引用全局变量,则无效}test(); //调用函数,显示为空?>
但是,如果在函数体使用global关键字声明变量之后,则可以在函数内引用全局变量。
<?php$a = 1; //声明全局变量function test(){ global $a; //声明全局变量 echo $a; //引用全局变量,有效}test(); //调用函数,显示为1?>
静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不会丢失。例如,在下面示例中静态变量$count能够持续存储现在叠加的值。
<?phpfunction test(){ static $count = 0; //声明静态变量 $count++; //递加变量值echo $count; //显示变量值 if ($count < 10) { //如果变量值小于10,则继续调用函数 test(); }}test(); //调用函数echo "<p>";test(); //第二次调用函数?>
静态变量提供了一种处理递归函数的方法。递归函数是一种调用自己的函数,用户在写递归函数时要小心,因为可能会无穷递归下去,所以必须确保有充分的方法来中止递归。这个简单的函数递归计数到10,使用静态变量$count来判断何时停止,当时即便函数中止,如果继续调用函数,用户会发现$count的值是从11开始的,而不是0,演示效果如下图所示。
当前文章标题:变量作用域
当前URL:http://www.lyjtt.cn/news/wzzz/3238.html
上一篇:声明和使用变量
下一篇:可变变量