解释一下这两个函数的执行过程?
<?phpfunction go(){
static $r=0;
$r++;
echo $r;
}
go();
go();
go();
?>
<?php
function go(){
static $r;
$r=0;
$r++;
echo $r;
}
go();
go();
go();
?>
答案:执行结果:
<1>
1
2
3
<2>
1
1
1
<1>
static $r=0;
$r++;//$r=1
echo $r;//1
static $r=0;//static只执行一次,这次不执行
$r++;//$r=2
echo $r;//2
static $r=0;//static只执行一次,这次不执行
$r++;//$r=3
echo $r;//3
<2>
static $r;
$r=0;//$r=1
$r++;//$r=1
echo $r;//1
static $r;//static只执行一次,这次不执行
$r=0;//$r=1
$r++;//$r=1
echo $r;//1
static $r;//static只执行一次,这次不执行
$r=0;//$r=1
$r++;//$r=1
echo $r;//1
上一个:PHP中如何获得当前类的名称,而实例化后获取子类的名称
下一个:又一编码问题。 unicode怎么转big5啊 - PHP进阶讨论