Рекурсия, как сделать правильную рекурсию

Всем привет.
Хочу получить массив для следующего формирования хлебных крошек. Что я не так делаю.
Заранее благодарен.

1й параметр - все категории
2й параметр - id категории в которой я нахожусь

        function aliasLink ($categories, $id){
            
            $link_alias = [];
            foreach ($categories as $category){
                
                if($category->id == $id){
                    $link_alias[$category->id] = $category->name;
                    $id = $category->parent_id;
                    aliasLink($categories, $id);
                }
            }
            return $link_alias;
        }

Ответы (1 шт):

Автор решения: Den

можно ли тут оптимизировать или я правильно сделал?

function aliasLink ($categories, $id, $link_alias = null){

            foreach ($categories as $category){

                if($category->id == $id){
                    $link_alias[$category->id] = $category->name;
                    $id = $category->parent_id;
                    return aliasLink($categories, $id, $link_alias);
                }
            }
            return $link_alias;
        }
→ Ссылка