<?php function &test() { static $b=0;//申明一个静态变量 $b=$b+1; echo $b; return $b; } $a=test();//这条语句会输出 $b的值 为1 $a=5; $a=test();//这条语句会输出 $b的值 为2 $a=&test();//这条语句会输出 $b的值 为3 $a=5; $a=test();//这条语句会输出 $b的值 为6 ?>
引用网址:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/09/10/2173092.html
学习static和&的应用
1.static 修饰的变量只能初始化一次
2.
$a=&test();//这条语句会输出 $b的值 为3
$a=5;
$a=test();//这条语句会输出 $b的值 为6
解释:
因为test()函数返回的是:return $b;
就是相当于:$a = &$b; //就是把$b 变量的内存地址值赋给了$a;
于是改变$a的值就会改变$b的值。。。
这里是为了让大家理解函数的引用返回才使用静态变量的,其实函数的引用返回多用在对象中