function Demo($num){ //递归调用
echo $num."<br>";
if($num>0){
Demo($num-1);
}else{
echo "------------"."<br>";
}
echo $num."<br>";
}Demo(10);前面输出的10-0可以理解,
但是echo $num为什么可以输出0-10?

解决方案 »

  1.   

    function Demo($num){ //递归调用
        echo $num."<br>";
        if($num>0){
            Demo($num-1);
        }else{
            echo "------------"."<br>";        
        }
        echo $num."<br>";//这里,打印出0-10,,有点深度优先的意思,执行到$num=0,这一句才会被第一次执行
    }
      

  2.   

    呵 呵 。顶一下。PHP递归挺简单的。
      

  3.   

    function Demo($num){ //递归调用
        echo $num."<br>";
        if($num>0){
            Demo($num-1);        
        }else{
            echo "------------"."<br>";        
        }                                
        echo $num."<br>";
    }Demo(10);
    递归嘛就是这样,用Demo($num-1) ,调到Demo(0)  执行echo $num."<br>";输出0;后,if不满足了,就执行else里的输出短横线了,接着就从Demo(0)--->Demo(10)递归回去,最下面的echo $num."<br>";输出0,接着轮到Demo(1),注意这时全是最下面的那个输出起作用(因为上面的一些语句都已经执行过了),一直递归到Demo(10),对应输出就是0到10。
        按照我说的,一句句的想想就可以了。