找回密码
 立即注册

PHP递归算法(四)

2022-7-30 13:31:30 · 站长社区

在前面的文章中,我们给大家介绍了三种递归算法的实现方法,即“静态变量”、“全局变量”、“引用传参”。需要的朋友可以了解《PHP递归算法(一)》《PHP递归算法(二)》《PHP递归算法(三)


133145yt3q2s703yrsazag.png

下面我们就给大家介绍如何通过xdebug调试运行PHP引用传参的递归算法。

代码如下:

1

2

3

4

5

6

7

8

9

10

11

<?php

function test($a=0,&$result=array()){

    $a++;

    if ($a<5){

        $result[]=$a;

        test($a,$result);

    }

    echo $a.<hr>;

    return $result;

}

var_dump(test());

首先在test方法体内的第一行创建一个断点。

133145osnsusvksuwsl93h.png

然后点击向下箭头,开始调试“跑”程序。

133145inaxsbnxolhyh9xc.png

第一次判断循环如下:

133145ivr1ltigzzrzni0r.png

133145q5avmkv49hkm4up5.png

最后一次判断循环如下:

133145cfb3j4655mrjc45j.png

最后输出如下:

133145xvwasd86kvawsaqz.png


全部评论 0

在前面的文章中,我们给大家介绍了三种递归算法的实现方法,即“静态变量”、“全局变量”、“引用传参”。需要的朋友可以了解《PHP递归算法(一)》《PHP递归算法(二)》《PHP递归算法(三)


133145yt3q2s703yrsazag.png

下面我们就给大家介绍如何通过xdebug调试运行PHP引用传参的递归算法。

代码如下:

1

2

3

4

5

6

7

8

9

10

11

<?php

function test($a=0,&$result=array()){

    $a++;

    if ($a<5){

        $result[]=$a;

        test($a,$result);

    }

    echo $a.<hr>;

    return $result;

}

var_dump(test());

首先在test方法体内的第一行创建一个断点。

133145osnsusvksuwsl93h.png

然后点击向下箭头,开始调试“跑”程序。

133145inaxsbnxolhyh9xc.png

第一次判断循环如下:

133145ivr1ltigzzrzni0r.png

133145q5avmkv49hkm4up5.png

最后一次判断循环如下:

133145cfb3j4655mrjc45j.png

最后输出如下:

133145xvwasd86kvawsaqz.png


热门推荐
您需要登录后才可以回帖 立即登录
说说你的想法......
0
0
0
返回顶部