读书人

怎么限制递归函数的次数

发布时间: 2013-01-05 15:20:39 作者: rapoo

如何限制递归函数的次数?
<?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,

读书人网 >PHP

热点推荐