基本概念
- 递归函数即自调用函数,在函数体内部直接或间接的自己调用自己
- 函数体中会附加一个条件判断,以判断是否需要执行递归调用,并且在特定的条件下终止函数的递归
递归详解
代码示例
function abc($n){ // 此处是传值赋值
if ($n>2){
abc(--$n); // $n = $n-1; abc($n)
}
echo $n,'<br>';
}
abc(4); // 2 2 3
// 思考: 如果是 $n-- 会怎么? 无限递归
内存示例
递归练习
1 ~ n的和
function sum($n){
if ($n == 1){
return 1;
}
return $n+sum($n-1);
}
echo sum(100);
斐波那契数列
// 斐波那契数列 1 1 2 3 5 8 13
function test($n){
if ($n == 1 || $n == 2){
return 1;
}else{
return test($n-1) + test($n-2);
}
}
$res = test(5);
echo $res;