php自定义函数之静态变量
如果我想知道函数被调用了多少次怎么办?在没有学习静态变量的时候,我们没有好的办法来解决。
静态变量的特点是:声明一个静态变量,第二次调用函数的时候,静态变量不会再初始化变量,会在原值的基础上读取执行。
有了这个特点,我们就可以实现,最开始我们的提问:
函数调用词数的统计。
先执行10次demo()函数试试,再执行10次test()函数试试:
<?php function demo() { $a = 0; echo $a; $a++; } function test() { static $a = 0; echo $a; $a++; } demo(); demo(); demo(); demo(); demo(); demo(); demo(); demo(); demo(); demo(); /* for($i = 0 ;$i < 10 ; $i++){ test(); } */ ?>
上例中你会发现:
test();执行一次数值就会加1,而demo输出的显示结果,始终为0。
通过上例你就会发现,本文开始处说明的静态变量的特点。
Musket
普通变量demo()输出时就像是喝醉了借钱出去,然后就忘了,借一次忘一次。加了静态static的test()的就是把每次借钱的人都记在小本本上。
3年前 添加回复 2