提问者:小点点

递归函数返回空值


下面的递归函数我试图得到的代码数组。 例如,输入'bme4',输出应该类似于[0]=>'bme'[1]=>'bm'[2]=>'b'。 但返回值为null,尽管我可以用var_dump()获得正确的返回值。

function get_parent_cat_code($code,$category_codes){
    $parent_cat_code=substr($code, 0, -1);
    if($parent_cat_code!=''){
        $category_codes[]=$parent_cat_code;
        get_parent_cat_code($parent_cat_code,$category_codes);
    }else{
        var_dump($category_codes);
        return $category_codes;
    }
}

共1个答案

匿名用户

解决了!

function get_parent_cat_code($code,$category_codes){
    $parent_cat_code=substr($code, 0, -1);
    if($parent_cat_code!=''){
        $category_codes[]=$parent_cat_code;
        return get_parent_cat_code($parent_cat_code,$category_codes); //i used return for calling recursive function.
    }else{
        var_dump($category_codes);
        return $category_codes;
    }
}