日期:2014-05-17  浏览次数:20450 次

php 递归方法返回值 为null 问题
本帖最后由 lihaiboas1 于 2013-01-28 13:31:03 编辑

function getcount($start,$str){
//echo "查找".$str."中 出现 ".$start."<br/>";
$findstr=$start.(string)((int)substr($start,-1)+1);
//echo substr_count($str,$findstr)."<br/>";
if(substr_count($str,$findstr)==0){
echo "匹配结束".$start."<br/>";
var_dump($start);
return $start;
}else{
echo "匹配".$findstr.",继续递归匹配<br/>";
var_dump($findstr);
getcount($findstr,$str);
}
}

$a="7641235123"; 
for($i=0;$i<10;$i++){
$str1=getcount($i,$a);
var_dump($str1);//为什么返回的是null呢?
if(strlen($str1)>1){
echo "$a 出现重复字符 ".$str." 共 ".substr_count($a,$str). "次<br/>";
}
}



------解决方案--------------------
12 行的
        getcount($findstr,$str);
改为
        return getcount($findstr,$str);