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静态变量----------- /** 普通局部变量 */ function local() { $loc = 0; //这样,如果直接不给初值0是错误的。 ++$loc; echo $loc . '<br>'; } local(); //1 local(); //1 local(); //1 echo '===================================<br/>'; /** static静态局部变量 */ function static_local() { static $local = 0 ; //此处可以不赋0值 $local++; echo $local . '<br>'; } static_local(); //1 static_local(); //2 static_local(); //3 //echo $local; 注意虽然静态变量,但是它仍然是局部的,在外不能直接访问的。 echo '=======================================<br>'; /** static静态全局变量(实际上:全局变量本身就是静态存储方式,所有的全局变量都是静态变量) */ function static_global() { global $glo; //此处,可以不赋值0,当然赋值0,后每次调用时其值都为0,每次调用函数得到的值都会是1,但是不能想当然的写上"static"加以修饰,那样是错误的. $glo++; echo $glo . '<br>'; } static_global(); //1 static_global(); //2 static_global(); //3 ?>
  • Cadangan kursus
  • Muat turun perisian kursus