php自定义函数之静态变量

如果我想知道函数被调用了多少次怎么办?在没有学习静态变量的时候,我们没有好的办法来解决。

静态变量的特点是:声明一个静态变量,第二次调用函数的时候,静态变量不会再初始化变量,会在原值的基础上读取执行。

有了这个特点,我们就可以实现,最开始我们的提问:
函数调用词数的统计。

先执行10次demo()函数试试,再执行10次test()函数试试:

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

上例中你会发现:
test();执行一次数值就会加1,而demo输出的显示结果,始终为0。

通过上例你就会发现,本文开始处说明的静态变量的特点。


继续学习
||
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?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; //0001
     "static".
$glo++;
echo $glo . '<br>';
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交重置代码
图片放大关闭