使用静态变量的php递归函数

使用静态变量的php递归函数,php,recursion,Php,Recursion,我有: 功能测试() { 静态$count=0; $count++; echo$count; 如果($count

我有:

功能测试()
{
静态$count=0;
$count++;
echo$count;
如果($count<10){
test();
}
$count--;
}
$count--
在这个递归中是如何工作的


当计数最终达到10时,紧接着的
$count--
将执行。但是会发生什么呢?

它会将计数从1增加到10,如果您回显最后一行
$count--它将从10减少到1,如:
12345678910
和$count——将使其成为
10987654321
我的意思是:

function test()
{
    static $count = 0;

    $count++;
    echo $count;
    if ($count < 10) {
        test();
    }
    $count--;
}
功能测试()
{
静态$count=0;
$count++;
echo$count;
如果($count<10){
test();
}
回声$计数--;
}
test();

将产生
123456789100987654321

我猜它将完成任何活动递归的执行(例如,如果你已经达到10级,你将得到$count减少,回到一级)-演示(自己这样做可能会告诉你:是的,我没有正确阅读问题。你赢了:)我注意到现在的增量和减量有点奇怪。但是我可以看到堆栈将如何处理它。所以当递归函数在满足条件后在堆栈中回溯时,它只跳到$count--?从它进入递归的地方回溯9次,从而减少了9次计数?
function test()
{
    static $count = 0;

    $count++;
    echo $count;
    if ($count < 10) {
        test();
    }
    echo $count--;
}
test();