我正在研究一个函数,但该函数不能正常工作时我运行它,然后它连续运行。
我没有发现真正的问题在哪里。
<?php
function recursion($a) {
if($a < 20) {
echo "$a'n";
recursion($a);
}
}
$a = 2;
recursion($a);
echo "</br>";
?>
递归函数趋于无穷大,因为您一次又一次地传递相同的值与recursion($a);
,因此if($a<20)
将始终是true
的结果,递归将永远不会中断。
Try increment ++$a
or $a += 1
or $a = $a+1
.
recursion(++$a);//increasing value with prefix operator ++
完整代码:
function recursion($a) {
if($a < 20) {
echo "$a'n";
recursion(++$a);
}
}
$a = 2;
recursion($a);
echo "</br>";
输出:2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19