php中的静态变量在递归函数中没有按预期工作

时间:2015-10-16 09:39:07

标签: php recursion static-variables

我在php中使用静态变量。理想情况下,这应显示1到10.

但事实并非如此。为什么会这样?

event.preventDefault

2 个答案:

答案 0 :(得分:4)

你的if中有错误的变量。如果你调试它,你会发现该函数只触发两次而不是10次。

变化

if ($count < $a) {
    echo 'in if ' . $count;
    test($count);
}

if ($count < $a) {
    echo 'in if ' . $count;
    test($a);
}

答案 1 :(得分:0)

如果要打印1到10

,请使用此选项
function test($a)
{
    static $count = 0;

    $count++;
    echo $count."====".$a;
    if ($count < $a) {
        echo 'in if ' . $count;
        test($a);
    }

}