我很努力去理解我用遞歸得到的問題,我只在一個方向上遍歷一個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