Рекурсивная функция возвращает нулевое значение - PullRequest
0 голосов
/ 20 июня 2020

Ниже рекурсивной функции я пытаюсь получить массив кодов. Например, введите "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 Ответ

0 голосов
/ 20 июня 2020

Решено!

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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...