Я рекурсивно ищу узел дерева для его родителей, а затем пытаюсь вернуть его родительские категории в массиве.
Функция получает и передает себе массив каждого родителя, который в конечном итоге возвращается.
Несмотря на то, что в этом массиве есть элементы, оператор перед возвратом при просмотре вне функции равен nul
.
Чтобы заставить его работать, я просто сделал параметр по ссылке. Но почему всегда nul
?
Вот мой код:
function getParent($id,$parents){ // to work changed this to getParent($id,&$parents)
if($id < 2) { // 1 is the Top of the Tree , so job is done
return $string;
}
$child = DB::fetchExecute((object)array( // pdo query for category to get parents
'sql' => "category",
'values'=> array($id),
'single'=> 1,
'debug' => 0)
);
$parent = DB::fetchExecute((object)array( // pdo query for parents info
'sql' => "category",
'values'=> array($child->native_parent_category_id),
'single'=> 1,
'debug' => 0)
);
$string[]= "<li>$parent->name ($parent->native_category_id)</li>
";
getParent($parent->native_category_id , $parents);
}
// call function
$array = array();
$returnString = getParent($id,$string);
var_dump($returnString,$array); // will both be NULL, or if called by Reference $array has the goods
?>