我試圖使用遞歸函數來構建一個繼承的數組。構建數組的遞歸函數
比方說,我有一個對象「一個」看起來像這樣(用「B」父ID)
a = 'Item 1', 'Item 2', Parent_ID, 'Item 3', 'Item 4'
而且我有一個對象「B」,看起來像這樣:
b = 'Item X', 'Item Y'
和所期望的結果是這樣的:
final = 'Item 1', 'Item 2', 'Item X', 'Item Y', 'Item 3', 'Item 4'
所以基本上是繼續尋找父母我array_splice功能D並插入父項。我的代碼去這個方向:
$master_list = array();
getItems("a", $master_list);
function getItems($ID, &$master_list){
$master_list = retrieve_items($ID); // returns items from "a"
//if Parent ID exists, run function again to retrieve items from parent and insert them in place of the Parent ID
if(Parent_ID)
array_splice($master_list, [parent index], 1, getItems($parentID, $master_list);
}
我的函數返回此爲(不需要的)結果:
final = 'Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item X', 'Item Y'
顯然,這是僞代碼,並只用於獲得指向整個。任何人都可以將我指向正確的方向嗎?我非常感謝。
太困惑... –