首頁 > 後端開發 > php教程 > 递归是不是隐藏着循环

递归是不是隐藏着循环

WBOY
發布: 2016-06-13 12:21:31
原創
1084 人瀏覽過

递归是否隐藏着循环
先看代码

function reverse($str){<br />  if(strlen($str)>0){<br />    reverse(substr($str,1));<br />    echo substr($str,0,1);<br />    return;<br />  }<br />}<br />reverse("abcdefg");//gfedcbc
登入後複製

上例中,我认为理解是有循环的意思,比如当代进去abcdefg这个实参后,reverse函数首先计算是否等于0,如果等就算了,如果大就开始,此处7位数大于0,所以首先输入啥呢,不对,还是有点晕,这个如何理解呢,乱七八糟的,在逻辑上实在是不可思议

------解决思路----------------------
动手,是学习计算机技术的首要条件
你把函数改一下
function reverse($str){<br />  echo "传入 $str\n"; //这里<br />  if(strlen($str)>0){<br />    reverse(substr($str,1));<br />    echo "\n返回时 $str\n";; //这里<br />    echo substr($str,0,1);<br />    return;<br />  }<br />}<br />reverse("abcdefg");//gfedcbc
登入後複製
传入 abcdefg<br />传入 bcdefg<br />传入 cdefg<br />传入 defg<br />传入 efg<br />传入 fg<br />传入 g<br />传入 <br /><br />返回时 g<br />g<br />返回时 fg<br />f<br />返回时 efg<br />e<br />返回时 defg<br />d<br />返回时 cdefg<br />c<br />返回时 bcdefg<br />b<br />返回时 abcdefg<br />a<br />
登入後複製

一目了然!
这是你冥思苦想几天几夜都不能理解的

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板