heyongzhen

使用递归函数示例:

function abc($n)
{
    if ($n>2) {
        abc(--$n);
    }
    echo \'$n=\'.$n.\'<br>\';
}
abc(4);

 注意:当abc($n--),先传值再减减,那么每次调用函数$n值都是4,这是无限递归。

 
内存解释函数调用流程:PHP在执行遇到函数时,就会开辟一个新栈

内存

入口栈

abc(4)

=》

 

 第三次返回

《=

$n=4

if(){

abc(--$n)

}

echo \'$n=\'.$n.\'<br>\';

=》

 

 第二次返回

《=

$n=3

if(){

abc(--$n)

}

echo \'$n=\'.$n.\'<br>\';

=》

 

 第一次返回

《=

$n=2

if(){

}

echo \'$n=\'.$n.\'<br>\';

 
 
 
 
 
 
 
 
 
 
 
结果:
第一次返回结果:$n=2
第二次返回结果:$n=2
第三次返回结果:$n=3

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-11-02
  • 2021-12-06
  • 2021-06-16
  • 2022-12-23
  • 2022-01-03
猜你喜欢
  • 2021-09-09
  • 2022-12-23
  • 2022-03-03
  • 2021-12-26
  • 2021-09-05
相关资源
相似解决方案