加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP递归算法的应用含例子

发布时间:2022-06-24 13:12:36 所属栏目:PHP教程 来源:互联网
导读:递归函数为自调用函数,在函数体内直接或直接自个调用自个,但需求设置自调用的条件,若满意条件,则调用函数自身,若不满意则停止本函数的自调用,然后把目前流程的主控权交回给上一层函数来履行,也许这么给我们解说,仍是很难理解,比如: 示例: funct
  递归函数为自调用函数,在函数体内直接或直接自个调用自个,但需求设置自调用的条件,若满意条件,则调用函数自身,若不满意则停止本函数的自调用,然后把目前流程的主控权交回给上一层函数来履行,也许这么给我们解说,仍是很难理解,比如:
 
  示例:
 
  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编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读