php 递归方法返回值 为null 问题
本帖最后由 lihaiboas1 于 2013-01-28 13:31:03 编辑
<br />function getcount($start,$str){<br /> //echo "查找".$str."中 出现 ".$start."<br/>";<br /> $findstr=$start.(string)((int)substr($start,-1)+1);<br /> //echo substr_count($str,$findstr)."<br/>";<br /> if(substr_count($str,$findstr)==0){<br /> echo "匹配结束".$start."<br/>";<br /> var_dump($start);<br /> return $start;<br /> }else{<br /> echo "匹配".$findstr.",继续递归匹配<br/>";<br /> var_dump($findstr);<br /> getcount($findstr,$str);<br /> }<br />}<br /><br />$a="7641235123"; <br />for($i=0;$i<10;$i++){<br /> $str1=getcount($i,$a);<br /> var_dump($str1);//为什么返回的是null呢?<br /> if(strlen($str1)>1){<br /> echo "$a 出现重复字符 ".$str." 共 ".substr_count($a,$str). "次<br/>";<br /> }<br />}<br />
ログイン後にコピー
------解决方案--------------------12 行的
getcount($findstr,$str);
改为
return getcount($findstr,$str);