如何限制递归函数的次数?
<?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){ //默认不限制次数17,19,21,23,25,27,29,31,33,35,
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);