一、利用静态变量的方法

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

输出:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
0 1 2 3 4 5 6 7 8 9

 

二、通过全局变量的方法

<?php

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

输出:

12345678910

 

三、通过引用传参的方式

<?php
function test($a=0,&$result=array()){
    $a++;
    if ($a<10){
        $result[]=$a;
        test($a,$result);
    }
    echo $a."<hr>";
    return $result;
}
var_dump(test());

输出$a:

PHP 递归几种方法 随笔 第1张

输出$result:

PHP 递归几种方法 随笔 第2张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄