PHP基础之函数的嵌套与递归 函数的嵌套与递归

函数的嵌套调用

  • 函数的嵌套调用
    • 在调用一个函数的过程中调用另一个函数
<?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),'&nbsp;';
?>