php manual中看到的
<?php
function Test()
{
    static $count = 0;    $count++;
    echo $count;
    if ($count < 10) {
        Test();
    }
    $count--;
}
?> 每次调用Test(),$count都会被置为0,然后再加1,$count的值始终就在0和1之间阿,为什么能够跳出循环??

解决方案 »

  1.   

    static 变量只会执行一次,即初始化.在这次调用中不会再被执行,$count++直到10结束循环
      

  2.   

    那如果我想再次对$count付值呢?
      

  3.   

    static $count = 0;
    静态变量.这一行只被第一次执行时执行.以后就不再执行了.而且count保留上一次的值
      

  4.   

    <?php
    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