当前位置:Gxlcms > PHP教程 > php递归的新有关问题

php递归的新有关问题

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

php递归的新问题
本帖最后由 iamsai 于 2013-09-28 14:04:34 编辑



reverse_i('hello');

function reverse_i($str)
{

if(strlen($str)>0)

reverse_i(substr($str,1));

echo substr($str,0,1);

//return

}
/*
大家看我的思路对吗?
reverse('hello');

function reverse_i('hello')
if(strlen('hello'))>0
reverse_i('ello');

function reverse_i('ello')
if(strlen('ello'))>0
reverse_i('llo');

function reverse_i('llo')
if(strlen('llo'))>0
reverse_i('lo');

function reverse_i('lo')
if(strlen('lo'))>0
reverse_i('o');

function reverse_i('o')
if(strlen('o'))>0
reverse('');

function reverse_i('')
if(strlen(''))>0
此时不满足if条件就跳出if语句
执行下一句
echo substr($str,0,1);
打印出一个空字符程序不就结束了吗?因为没有return语句也就没有返回调用它的return('o')也无法顺势打印出后面的olleh呀
可程序
输出仍然是olleh...
*/

?>

分享到:


------解决方案--------------------
很明显是要输出的呀。。
你的程序可以看成这样
$str=123;
if(strlen('123')>0)

//reverse_i('23');
if(strlen('23')>0){
//reverse_i('3');
if(strlen('3')>0){
//reverse_i(''); 不合,然后执行后面语句
echo substr('3',0,1);//输出3
}
echo substr('23',0,1);//输出2
}

echo substr('123',0,1);//输出1

人气教程排行