欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP递归算法简单化

程序员文章站 2022-03-17 09:39:55
...
递归函数为自调用函数,在函数体内直接或直接自个调用自个,但需求设置自调用的条件,若满意条件,则调用函数自身,若不满意则停止本函数的自调用,然后把目前流程的主控权交回给上一层函数来履行,也许这么给我们解说,仍是很难理解。

例如一下代码:

function test ($n){
    echo $n."  ";
    if($n>0){
        test($n-1);
    }else{
        echo "";
    }
    echo $n."  "
}
test(2)

这个比如终究的输出结果是2 1 0<–>0 1 2

我解说下 为何输出是这么的

第一步,履行test(2),echo 2,然后由于2>0,履行test(1), 后边还有没来得及履行的echo 2
第二步,履行test(1),echo 1,然后由于1>0,履行test(0),相同后边还有没来得及履行的 echo 1
第三步,履行test(0),echo 0,履行test(0),echo 0, 此刻0>0的条件不满意,不在履行test()函数,而是echo “”,并且履行后边的 echo 0

此刻函数现已不再调用自个,开端将流程的主控权交回给上一层函数来履行,也即是开端履行刚刚一切test()函数没来得及输出的最终一个echo,0的一层是1也即是输出1 1的上一层是2 也即是输出2 2没有山一层 所以呢 输出的内容即是2 1 0<–>0 1 2

相关阅读:

php递归算法

php递归算法:php递归算法 PHP树-不需要递归:/*** 创建父节点树形数组* 参数* $ar 数组......

php递归算法 PHP面试常用算法

php递归算法:php递归算法 PHP面试常用算法......

php递归算法 基于PHP微信红包的算法探讨

php递归算法:php递归算法 基于PHP微信红包的算法探讨:突发奇想给校友微信群发了红包,我设定红包总额为10元,支持28个人随机领取。......

以上就是PHP递归算法简单化的详细内容,更多请关注其它相关文章!