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。
透過上例你就會發現,本文開始處所說明的靜態變數的特徵。


