递归函数返回空值

时间:2020-06-20 12:33:40

标签: php arrays function recursion return

在递归函数下面,我试图获取代码数组。例如输入'bme4',输出应类似于[0] =>'bme'[1] =>'bm'[2] =>'b'。但是即使我可以使用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 个答案:

答案 0 :(得分:0)

解决了!

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;
    }
}