当前位置:Gxlcms > PHP教程 > "圣经"递归有关问题的困惑想了一天555也无解.

"圣经"递归有关问题的困惑想了一天555也无解.

时间:2021-07-01 10:21:17 帮助过:11人阅读

"圣经"递归问题的困惑 想了一天555也无解...
本帖最后由 iamsai 于 2013-09-24 21:00:08 编辑



$str='hello';
reverse_i($str);
function reverse_i($str)
{
if(strlen($str)>0)
{
reverse_i(substr($str,1));

}

echo substr($str,0,1);
return;

}
?>


请大家看我的问题:
此程序的输出结果是倒序输出 olleh .
经过循环体中reverse_i(substr($str,1));语句的操作 hello ello llo lo o
当字符长度==0时,echo substr($str,0,1); 输出o.
return语句返回什么值呢?是返回到第四行?后面的执行顺序是什么呢?有谁能帮我分析分析?谢谢大侠了!

分享到:


------解决方案--------------------
if(strlen($str)>0)
??{???
????reverse_i(substr($str,1)); //这是一次递归调用
<--- 返回到这里
??}
??echo?substr($str,0,1);
??return;

人气教程排行