首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

怎么限制递归函数的次数

2013-01-05 
如何限制递归函数的次数??phpfunction add($a){if ($a 99) {$a $a +2echo $a.,$a add($a)}ret

如何限制递归函数的次数?
<?php

function add($a){

    if ($a < 99) {

        $a = $a +2;

        echo $a.",";

        $a = add($a);

    }

    return $a;

}

add(15);

?>

这个函数会罗列出从$a开始到99的单数,但是我只想调出一个10个数字?那我要如何限制递归函数的次数?(这个只是我一个函数的简化的例子,所以请从「如何限制递归函数次数」的方向作解答。谢谢。

输出结果应该是「17,19,21,23,25,27,29,31,33,35」
[解决办法]
既然有次数限制,那就要传递限制数了

function add($a, $n=false){ //默认不限制次数
  if($n !== false && $n == 0) {
    return;
  }else {
    $n--;
  }
  if ($a < 99) {
    $a = $a +2;
    echo $a.",";
    $a = add($a, $n);
  }
  return $a;
}

add(15, 10);
17,19,21,23,25,27,29,31,33,35,

热点排行