请问递归的过程是怎样的呢?下面的代码有点不理解?<?php
function test($n){
echo $n." ";
if($n>0){
test($n-1);
}else {
echo "<-->";
}
echo $n." ";
}
test(10);
?>为什么输出的结果为:
10 9 8 7 6 5 4 3 2 1 0 <-->0 1 2 3 4 5 6 7 8 9 10
前面的输出还能理解,但是为什么<-->后面还会输出0到10呢,不是输出0就完了吗?
function test($n){
echo $n." ";
if($n>0){
test($n-1);
}else {
echo "<-->";
}
echo $n." ";
}
test(10);
?>为什么输出的结果为:
10 9 8 7 6 5 4 3 2 1 0 <-->0 1 2 3 4 5 6 7 8 9 10
前面的输出还能理解,但是为什么<-->后面还会输出0到10呢,不是输出0就完了吗?
function test($n){
echo $n." ";
if($n>0){//也就是说这个循环中只要$n>0就执行这个if,而if每次-1,也就是执行10次test函数,当第11次的时候执行的是else(因为不符合if的条件了),而else中被没有执行test函数的代码,所以这个函数执行10次就停了
test($n-1);
}else {
echo "<-->";
}
echo $n." ";
}
test(10);
echo $n." ";//这里输出10 9 8 7 ...
if($n>0){
test($n-1);
}else {
echo "<-->";
}
echo $n." ";//这里输出0 1 2 3 ...
}test(10);
// echo $n." ";
if($n>0){
test($n-1);
}
echo $n." ";
}test(2);$n=1 的時候 是滿足條件 結果 0 $n=0 的時候 是不滿足條件 結果 1以此類推