php递归的新问题
本帖最后由 iamsai 于 2013-09-28 14:04:34 编辑
<?php<br />
<br />
reverse_i('hello');<br />
<br />
function reverse_i($str)<br />
{<br />
<br />
if(strlen($str)>0) <br />
<br />
reverse_i(substr($str,1)); <br />
<br />
echo substr($str,0,1); <br />
<br />
//return<br />
<br />
}<br />
/* <br />
大家看我的思路对吗?<br />
reverse('hello');<br />
<br />
function reverse_i('hello')<br />
if(strlen('hello'))>0<br />
reverse_i('ello');<br />
<br />
function reverse_i('ello')<br />
if(strlen('ello'))>0<br />
reverse_i('llo');<br />
<br />
function reverse_i('llo')<br />
if(strlen('llo'))>0<br />
reverse_i('lo');<br />
<br />
function reverse_i('lo')<br />
if(strlen('lo'))>0<br />
reverse_i('o');<br />
<br />
function reverse_i('o')<br />
if(strlen('o'))>0<br />
reverse('');<br />
<br />
function reverse_i('')<br />
if(strlen(''))>0<br />
此时不满足if条件就跳出if语句 <br />
执行下一句<br />
echo substr($str,0,1); <br />
打印出一个空字符程序不就结束了吗?因为没有return语句也就没有返回调用它的return('o')也无法顺势打印出后面的olleh呀<br />
可程序输出仍然是olleh...<br />
*/<br />
<br />
?><br />
登录后复制