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