国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php自訂函數(shù)之靜態(tài)變數(shù)

如果我想知道函數(shù)被呼叫了多少次怎麼辦?在沒有學(xué)習(xí)靜態(tài)變數(shù)的時(shí)候,我們沒有好的方法來解決。

靜態(tài)變數(shù)的特點(diǎn)是:宣告一個(gè)靜態(tài)變量,第二次呼叫函數(shù)的時(shí)候,靜態(tài)變數(shù)不會(huì)再初始化變數(shù),會(huì)在原值的基礎(chǔ)上讀取執(zhí)行。

有了這個(gè)特點(diǎn),我們就可以實(shí)現(xiàn),最開始我們的提問:
函數(shù)呼叫詞數(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。

透過上例你就會(huì)發(fā)現(xiàn),本文開始處所說明的靜態(tài)變數(shù)的特徵。


繼續(xù)學(xué)習(xí)
||
<?php //--------------如何理解static靜態(tài)變量----------- /** 普通局部變量 */ function local() { $loc = 0; //這樣,如果直接不給初值0是錯(cuò)誤的。 ++$loc; echo $loc . '<br>'; } local(); //1 local(); //1 local(); //1 echo '===================================<br/>'; /** static靜態(tài)局部變量 */ function static_local() { static $local = 0 ; //此處可以不賦0值 $local++; echo $local . '<br>'; } static_local(); //1 static_local(); //2 static_local(); //3 //echo $local; 注意雖然靜態(tài)變量,但是它仍然是局部的,在外不能直接訪問的。 echo '=======================================<br>'; /** static靜態(tài)全局變量(實(shí)際上:全局變量本身就是靜態(tài)存儲(chǔ)方式,所有的全局變量都是靜態(tài)變量) */ function static_global() { global $glo; //此處,可以不賦值0,當(dāng)然賦值0,后每次調(diào)用時(shí)其值都為0,每次調(diào)用函數(shù)得到的值都會(huì)是1,但是不能想當(dāng)然的寫上"static"加以修飾,那樣是錯(cuò)誤的. $glo++; echo $glo . '<br>'; } static_global(); //1 static_global(); //2 static_global(); //3 ?>
提交重置程式碼