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

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)。


繼續(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)變量,但是它仍然是局部的,在外不能直接訪問(wèn)的。 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)然的寫(xiě)上"static"加以修飾,那樣是錯(cuò)誤的. $glo++; echo $glo . '<br>'; } static_global(); //1 static_global(); //2 static_global(); //3 ?>
提交重置代碼