请教下php分页处理时用的这个递归问题
第一级处理完成后他是怎么倒出来的,就是最后的return,他不是该返回调用的地方么.为啥一级级又倒出来了
最佳答案
你图片看不清
我举个递归的例子
<?PHP
function a($i=0){
if($i<=10){
++$i;//每次该方法 满足条件 实际执行的 代码
retufn a($i);//返回值
}else{
return $i;//返回值
}
}
echo a();//输出
?>
//输出结果为10
你可以理解为,有无数个a方法。
你a 方法里面 再进行的a方法,你可以理解为a方法里面有个和a方法一样的 某种方法
也就是说,只要当a()中的参数小于等于10时,他就会传递一个参数到一个相同的方法中去。而那个方法又会返回 你这个相同的方法的 参数改变后的值
因此,可以快速的得出结论,这个递归是干嘛用的。有点类似于一个循环
<?php
function a($k){
return ++$k;//每次 该方法 执行 代码
}
$k=0;
for($i=0;$i<=10;$++){
$k+=a($i);//每次循环加上该方法的结果
}
echo $k;//和以上递归结果一样
?>
递归执行的过程就类似于 循环中 满足条件而进行的循环
而得出的值,确是 循环 累计 或者 递归累计 的值。
本人语言能力有限,希望对你有所帮助。
其他回答
暂无其它回答!