php中的递归算法

时间:2019-03-21
本文章向大家介绍php中的递归算法,主要包括php中的递归算法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
  • 什么是递归

      所谓递归就是一种函数调用自身的机制。简单来说就是在函数体内直接或间接自己调用自己,但需要设置自调用的条件,若满足条件,则调用函数本身,若不满足则终止本函数的自调用

  • 递归的实现

      递归算法的实现方法是有多种的,如通过“静态变量”、“全局变量”、“引用传参”的方式

   使用静态变量:

function call(){
    static $i = 0;
    echo $i . '';
    $i++;
    if($i<10){
        call();
    }
}

call();  //  输出 0 1 2 3 4 5 6 7 8 9

         使用全局变量:

$i=1;

function call(){
    global $i;
    echo $i;
    $i++;
    if($i<=10){
        call();
    }
}

call();   // 输出 1 2 3 4 5 6 7 8 9 10

    使用引用传参:

function test($a=0,&$result=array()){
    $a++;
    if ($a<10){
        $result[]=$a;
        test($a,$result);
    }

    echo $a."<br>";
    return $result;
}

var_dump(test());  

// 依次输出 10 9 8 7 6 5 4 3 2 1 
// test() 返回 array(1,2,3,4,5,6,7,8,10)