php中递归函数理解,php递归函数的理解

public function digui($i)

{

if($i=='1'){

echo  "*" ;

echo "
";

return ;

}else{

$this->digui($i-1);

for($j=1;$j<=$i;$j++){

echo  "*" ;

}

echo "
";

}

}

调用 $this->digui(3);

结果

*

**

***

function digui2($n){

echo $n." ";

if($n>0){

$this-> digui2($n-1);

}else{

echo "";

}

echo $n." ";

}

调用 $this->digui2(3);

结果

3 2 1 0 0 1 2 3

ec0ebaa1ca55af4382dc86fc1b0c8abf.png

递归函数执行 解剖 实例 (转载别人的)

看如下代码: <?php function one($num){ echo $num; two($num-1); echo $num; } function two($num){ echo $num; three($num-1); echo $num; } function three($num){ echo $num; } one(3); ?> 以上代码对test()函数进行分解操作,我们思考: 执行one(3)函数的时候,同test()函数一样,首先要输出3,然后调用two(2)函数, 注意,此时还没有输出下面的3, 接着走,执行two(2)函数,输出2,调用three(1)函数,同样,这里没有来得及输出下面的2, 执行three(1),直接输出1,不在调用其它函数, 此时,我们想刚刚的two()函数是不是还没有执行完,好,接着执行two()函数没有完成的部分,two()函数执行完之后,也就是输出下面的2,然后开始执行one()函数没有执行完的部分,也就是输出下面的3,此时所有函数执行完毕。 那么,输出结果是: 3 2 1 2 3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值