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

分类:

技术点:

相关文章: