php自定義函數(shù)之靜態(tài)變量
如果我想知道函數(shù)被調(diào)用了多少次怎么辦?在沒有學習靜態(tài)變量的時候,我們沒有好的辦法來解決。
靜態(tài)變量的特點是:聲明一個靜態(tài)變量,第二次調(diào)用函數(shù)的時候,靜態(tài)變量不會再初始化變量,會在原值的基礎(chǔ)上讀取執(zhí)行。
有了這個特點,我們就可以實現(xiàn),最開始我們的提問:
函數(shù)調(diào)用詞數(shù)的統(tǒng)計。
先執(zhí)行10次demo()函數(shù)試試,再執(zhí)行10次test()函數(shù)試試:
<?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(); } */ ?>
上例中你會發(fā)現(xiàn):
test();執(zhí)行一次數(shù)值就會加1,而demo輸出的顯示結(jié)果,始終為0。
通過上例你就會發(fā)現(xiàn),本文開始處說明的靜態(tài)變量的特點。