鑑於陣列的結構如下:訂單扁平結構成樹只知道父母
array(
55 => array(
'ident' => 'test 1',
'depth' => 1,
),
77 => array(
'parent_id' => 55,
'ident' => 'test 2',
'depth' => 2,
)
);
是否有可以用來把它轉換成一個嵌套的樹一般的算法?
即
array(
55 => array(
'ident' => 'test 1',
'depth' => 1,
'children' => array(
77 => array(
'parent_id' => 55,
'ident' => 'test 2',
'depth' => 2,
)
)
)
);
我所提供的例子被簡化,真正的殼體包括數百個節點+高達15
你嘗試過什麼?我會用這個作爲出發點:http://stackoverflow.com/questions/3975585/search-for-a-key-in-an-array-recursivly –
該網站上有很多這樣的問題,嘗試尋找「PHP構造分層」或類似的東西,例如:http://stackoverflow.com/questions/1060955/easiest-way-to-build-a-tree-from-a-list-of-ancestors/ 1060993#1060993 – Orbling
@SergiuParaschiv只是爲了說明;你鏈接的東西有一個可怕的複雜性(至少當它在O(n)=>也可行時見下面的答案) – bwoebi