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

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)變量的特點。


Weiter lernen
||
<?php //--------------如何理解static靜態(tài)變量----------- /** 普通局部變量 */ function local() { $loc = 0; //這樣,如果直接不給初值0是錯誤的。 ++$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)全局變量(實際上:全局變量本身就是靜態(tài)存儲方式,所有的全局變量都是靜態(tài)變量) */ function static_global() { global $glo; //此處,可以不賦值0,當然賦值0,后每次調(diào)用時其值都為0,每次調(diào)用函數(shù)得到的值都會是1,但是不能想當然的寫上"static"加以修飾,那樣是錯誤的. $glo++; echo $glo . '<br>'; } static_global(); //1 static_global(); //2 static_global(); //3 ?>
einreichenCode zurücksetzen