递归算法
当函数调用自身时,系统把当前的现场信息保存下来,当子递归执行完成后,恢复现场继续执行。每一次递归都当成执行一条普通语句就好理解了。
<?php function f($n){ $v = 5; if($n>2){ f($n-1); //该句话就当普通语句看待就好了,执行完这句执行下一句 print_r($v); } if($n<3){ $v = 10; print_r($v); print_r('<hr/>'); return; } } f(3); //结果是:10 5 ?>
当函数调用自身时,系统把当前的现场信息保存下来,当子递归执行完成后,恢复现场继续执行。每一次递归都当成执行一条普通语句就好理解了。
<?php function f($n){ $v = 5; if($n>2){ f($n-1); //该句话就当普通语句看待就好了,执行完这句执行下一句 print_r($v); } if($n<3){ $v = 10; print_r($v); print_r('<hr/>'); return; } } f(3); //结果是:10 5 ?>