0
我想從數據庫中獲得的一維數組創建一個分層數組。語言是PHP。從一維數組創建分層陣列
在下面提到的例子中,key id -3表示它是根節點。
輸入數據:
Array
(
[-2] => Array
(
[data] => A-2
[attr] => Array
(
[id] => -2
[parent_id] => -3
[title] => A-2
)
[state] => open
}
[-1] => Array
(
[data] => A-1
[attr] => Array
(
[id] => -1
[parent_id] => -2
[title] => A-1
)
[state] => open
}
[0] => Array
(
[data] => A0
[attr] => Array
(
[id] => 0
[parent_id] => -1
[title] => A0
)
[state] => open
}
[1] => Array
(
[data] => A1
[attr] => Array
(
[id] => 1
[parent_id] => -1
[title] => A1
)
[state] => open
}
[2] => Array
(
[data] => A2
[attr] => Array
(
[id] => 2
[parent_id] => -1
[title] => A2
)
[state] => open
}
[3] => Array
(
[data] => A3
[attr] => Array
(
[id] => 3
[parent_id] => 2
[title] => A3
)
[state] => open
}
[4] => Array
(
[data] => A4
[attr] => Array
(
[id] => 4
[parent_id] => 2
[title] => A4
)
[state] => open
}
[5] => Array
(
[data] => A5
[attr] => Array
(
[id] => 5
[parent_id] => -2
[title] => A5
)
[state] => open
}
}
輸出預計數據:
Array
(
[-2] => Array
(
[data] => A-2
[attr] => Array
(
[id] => -2
[parent_id] => -3
[title] => A-2
)
[state] => open
[children] => Array
(
[-1] => Array
(
[data] => A-1
[attr] => Array
(
[id] => -1
[parent_id] => -2
[title] => A-1
)
[state] => open
[children] => Array
(
[0] => Array
(
[data] => A0
[attr] => Array
(
[id] => 0
[parent_id] => -1
[title] => A0
)
[state] => open
}
[1] => Array
(
[data] => A1
[attr] => Array
(
[id] => 1
[parent_id] => -1
[title] => A1
)
[state] => open
}
[2] => Array
(
[data] => A2
[attr] => Array
(
[id] => 2
[parent_id] => -1
[title] => A2
)
[state] => open
[children] => Array
(
[3] => Array
(
[data] => A3
[attr] => Array
(
[id] => 3
[parent_id] => 2
[title] => A3
)
[state] => open
}
[4] => Array
(
[data] => A4
[attr] => Array
(
[id] => 4
[parent_id] => 2
[title] => A4
)
[state] => open
}
)
)
)
)
[5] => Array
(
[data] => A5
[attr] => Array
(
[id] => 5
[parent_id] => -2
[title] => A5
)
[state] => open
)
)
)
)