让我们看一下表category
,作为我想要理解的概念的一个例子:
ID NAME PARENT_ID 1 catA 0 2 catB 0 3 childA 1 4 childC 3
获得这样的组织的最佳做法是什么:
array(
'byId' => array(
1 => array(
'name' => 'catA',
'hasChild' => array(
'byId' => array(
3 => array(
'name' => 'childA',
'hasChild' => array(
'byId' => array(
4 => array(
'name' => 'childB',
'hasChild' => false
)
)
)
)
)
)
),
)
);
答案 0 :(得分:0)
这里只是一些数据结构。现在你有一个哈希表,孩子们可以永远继续下去,这可能会成为PHP对数组已经有点低效的哈希表结构的噩梦。我建议的是简单地将每个项目作为自己的数组元素并指定父项。这样可以更容易,因为您知道您只能拥有一个父项或根本没有父项,但每个父项可以有多个子项。
array (
0 => array(
'name' => 'Blah',
'parent' => false,
)
1 => array(
'name' => 'Blah\'s first child',
'parent' => 0,
)
2 => array(
'name' => 'Blah\'s second child',
'parent' => 0,
)
3 => array(
'name' => 'Foo',
'parent' => false,
)
4 => array(
'name' => 'Bar',
'parent' => 3,
)
)