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)

  

猜你喜欢

转载自www.cnblogs.com/ven-7/p/10570853.html
今日推荐