php专区

 首页 > php专区 > PHP高级 > 缓存异常处理 > php递归的新有关问题

php递归的新有关问题

分享到:
【字体:
导读:
         摘要:php递归的新问题本帖最后由 iamsai 于 2013-09-28 14:04:34 编辑 <?php reverse_i('hello'); ...

php递归的新有关问题
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
php递归的新有关问题
分享到:
html代码如何存入数据库
html代码如何存入数据库 html代码怎么存入数据库?请问这样的内容怎么存入数据库,我这些是采集到的内容,所以不一定。 Description: This product is a compact size multiple power system that is designed to power or recharge batteries of variety of portable electronic devices includi...
"圣经"递归有关问题的困惑 想了一天555也...
"圣经"递归有关问题的困惑 想了一天555也无解. "圣经"递归问题的困惑 想了一天555也无解...本帖最后由 iamsai 于 2013-09-24 21:00:08 编辑 请大家看我的问题: 此程序的输出结果是倒序输出 olleh . 经过循环体中reverse_i(substr($str,1));语句的操作 hello ello llo lo o  当字符长度==0时,echo s...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……