PHP递归算法的应用

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

示例:

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教程》

更多相关文章

  1. str_replace() 函数在php中的应用(附实例讲解)
  2. PHP session_register函数(附详解)
  3. 代码分析php中的回调函数
  4. 如何解决php中curl_init()函数不可用
  5. 详解PhpStorm一次性折叠所有函数或者方法
  6. PHP让人不知道的匿名函数的几种写法(附代码)
  7. 分享几个 Hyperf 常用助手函数
  8. PHP 数组常用函数总结
  9. PHP中箭头函数的实例详解

随机推荐

  1. Android应用程序键盘(Keyboard)消息处理机
  2. android如何获取url指定的图片资源
  3. 【Android】在开发项目的时候,利用Android
  4. android java打印栈信息
  5. Android提示:使用或覆盖了已过时的 API
  6. Android的Handler机制详解2_native
  7. [2].FFMpeg入门之 - Android使用FFMpeg命
  8. Android(安卓)中的数据库操作
  9. android 判断系统是否有Navigation Bar
  10. android获得mac和ip .