我很努力去理解我用递归得到的问题,我只在一个方向上遍历一个hiearchy并将每个父项的所有子项添加到一个数组中。递归添加到阵列
但我不能完全正常工作,但用递归不断添加到阵列的最佳途径。
这里是我的功能看起来像至今。我会很感激,如果有人能够推动我在这个正确的方向。
function getTaxChildrenList($cat, $data){
$next = get_terms('location_types', 'orderby=count&hide_empty=0&parent='.$cat);
if(count($next)){
$result = array();
foreach($next as $next_key => $next_level){
$result[$next_level->term_id] = $this->getTaxChildrenList($next_level->term_id, $result);
}
}
return $result;
}
我现在已经返回的结构,我想,但需要真正每个孩子的对象添加到我猜可能是我的基本情况的关键。
截图 - >http://cl.ly/image/1z1v2S243f3H
你的调用中的第二个参数在哪里?$ this-> getTaxChildrenList($ next_level-> term_id);'?您需要将结果“增加”的结果,而不是取代...... – Pouki
递归函数必须有一个基本情况。这里的基本情况是什么?目前,$结果将始终为空。 – JLRishe
JLRishe我认为你是对的。基本情况下,将只是添加到数组,并返回我猜... ...? – David