首页 > 后端开发 > php教程 > 菜鸡求教,该如何处理

菜鸡求教,该如何处理

WBOY
发布: 2016-06-13 12:13:10
原创
1001 人浏览过

菜鸡求教
代码如下

<?php<br />function Contrast($arr,$r,$c,&$numb){<br />	if($arr[$r][$c]==$arr[$r][$c+1]){<br />		$c++;<br />		$numb++;		<br />		Contrast($arr,$r,$c,$numb);		<br />	}else{	  <br />	  echo $numb."</br>";<br />	  return  $numb;	  <br />	}<br />}<br /><br />$arr=array(array(0,0,0,1,1,1,1,1,1,0,0,));<br />$r=0;<br />$c=3;<br />$numb=0;<br />$d=Contrast($arr,$r,$c,$numb);<br />var_dump($d);<br />?>
登录后复制


输出是
为什么函数没有返回值啊?
------解决思路----------------------
第6行 加上return :return Contrast($arr,$r,$c,$numb);
------解决思路----------------------
這個分支的遞歸沒有返回值
<br />    if($arr[$r][$c]==$arr[$r][$c+1]){<br />        $c++;<br />        $numb++;       <br />        Contrast($arr,$r,$c,$numb);       <br />    }else{ <br />
登录后复制


改為:
<br /><?php<br />function Contrast($arr,$r,$c,&$numb){<br />    if($arr[$r][$c]==$arr[$r][$c+1]){<br />        $c++;<br />        $numb++;       <br />        return Contrast($arr,$r,$c,$numb);       <br />    }else{      <br />      echo $numb."</br>";<br />      return  $numb;      <br />    }<br />}<br /> <br />$arr=array(array(0,0,0,1,1,1,1,1,1,0,0,));<br />$r=0;<br />$c=3;<br />$numb=0;<br />$d=Contrast($arr,$r,$c,$numb);<br />var_dump($d);<br />?><br />
登录后复制


5
int(5)

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板