•所谓的函数递归调用,就是函数可以在其声明的执行叙述之中调用执行自己。
•通常在此类型的函数之中会附加一个条件判断叙述,以判断是否需要执行递归调用,并且在特定条件下终止函数的递归调用动作,把目前流程的主控权交回上一层函数执行。因此当某个执行递归调用的函数,没有附加条件判断叙述时可能会造成无限循环的错误情形.
•函数递归调用最大的好处在于可以精简程序中繁杂重复调用程序,并且能以这种特性来执行一些较为复杂的运算动作。
举例:
<?php
/**
声明一个名称为test的函数,用于测试递归
$param int $n 需要一个整数作为参数
*/
function test( $n ) { //声明一个名为test的函数,有一个参数
echo $n." "; //在函数开始处输出参数的值和两个空格
if($n>0) //判断参数是否大于0
test($n-1); //如果参数大于0则调用自己,并将参数减1后再传入
else //判断参数不大于0
echo " <--> "; //输出分界字符串
echo $n." "; //在函数结束处输出参数的值和两个空格
}
test(10); //调用test()函数将整数10传给参数