php manual中看到的
<?php
function Test()
{
static $count = 0; $count++;
echo $count;
if ($count < 10) {
Test();
}
$count--;
}
?> 每次调用Test(),$count都会被置为0,然后再加1,$count的值始终就在0和1之间阿,为什么能够跳出循环??
<?php
function Test()
{
static $count = 0; $count++;
echo $count;
if ($count < 10) {
Test();
}
$count--;
}
?> 每次调用Test(),$count都会被置为0,然后再加1,$count的值始终就在0和1之间阿,为什么能够跳出循环??
静态变量.这一行只被第一次执行时执行.以后就不再执行了.而且count保留上一次的值
function Test()
{
static $count = 0; $count++;
echo $count."\n";
if ($count < 10) {
Test();
}
echo "=============\n";
$count--;
echo "#".$count."\n";
}Test();
?>
1
2
3
4
5
6
7
8
9
10
=============
#9
=============
#8
=============
#7
=============
#6
=============
#5
=============
#4
=============
#3
=============
#2
=============
#1
=============
#0