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

Pembolehubah statik fungsi tersuai php

Bagaimana jika saya ingin tahu berapa kali fungsi telah dipanggil? Tanpa mempelajari pembolehubah statik, kami tidak mempunyai cara yang baik untuk menyelesaikannya.

Ciri-ciri pembolehubah statik ialah: mengisytiharkan pembolehubah statik Apabila fungsi dipanggil untuk kali kedua, pembolehubah statik tidak akan memulakan pembolehubah itu semula, tetapi akan dibaca dan dilaksanakan. berdasarkan nilai asal.

Dengan ciri ini, kami dapat merealisasikan soalan awal kami:
Statistik tentang bilangan perkataan panggilan fungsi.

Mula-mula cuba laksanakan fungsi demo() 10 kali, dan kemudian cuba laksanakan fungsi test() 10 kali:

<?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();
}
*/
?>

Dalam contoh di atas, anda akan dapati:
test( ); pelaksanaan Nilai akan dinaikkan sebanyak 1 sekali, dan hasil keluaran demo yang dipaparkan sentiasa 0.

Melalui contoh di atas, anda akan mendapati ciri-ciri pembolehubah statik dijelaskan pada permulaan artikel ini.


Meneruskan pembelajaran
||
<?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 ?>