函数的嵌套与递归
函数的嵌套调用
<?php
$arr= [12, 53, 25, 10];
function sum(...$num){
$res = 0;
foreach($num as $v){
$res+= $v;
}
return $res;
}
echo "求和:".sum(...$arr);
echo "<br>";
function avg(...$num){
$sum= sum(...$num);
$len= count($num);
return $sum/ $len;
}
echo "平均值:".avg(...$arr);
?>
函数的递归调用
- 函数的递归调用
- 在函数内部调用自身的过程
- 递归尽量少用,因为递归需要用到现场保护,现场保护是需要消耗资源的
# 从1加到100
<?php
function cal($num) {
if($num==1)
return 1;
return $num+cal($num-1);
}
echo cal(100);
?>
打印斐波拉契数列
<?php
# 打印第5个斐波那契数
function fbnq($n) {
if($n==1 || $n==2)
return 1;
return fbnq($n-1)+fbnq($n-2);
}
echo fbnq(5),'<br>';
# 打印前10个斐波那契数
for($i=1;$i<=10;$i++)
echo fbnq($i),' ';
?>