如何在PHP中遍历邻接列表?
让我们看一下表如何在PHP中遍历邻接列表?,php,arrays,recursion,traversal,Php,Arrays,Recursion,Traversal,让我们看一下表类别,作为我想要理解的概念的示例: ID NAME PARENT_ID 1 catA 0 2 catB 0 3 childA 1 4 childC 3 这里只有一点数据结构。现在,您有了一个哈希表,它有可能让孩子们永远活下去,这可能会成为PHP对于数组已经有些低效的哈希表结构的噩梦。我的建议是简单地将每个项都设置为自己的数组元素,并指定一个父项。这使它更容易,因为您知道您只能有一个家长或根本没
类别
,作为我想要理解的概念的示例:
ID NAME PARENT_ID
1 catA 0
2 catB 0
3 childA 1
4 childC 3
这里只有一点数据结构。现在,您有了一个哈希表,它有可能让孩子们永远活下去,这可能会成为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,
)
)
请看一看,谢谢看。是123,为什么要评论?!谢谢你的关注。如果你想从中得到一个菜单,比如说父母子女子女子女子女子女,你知道,你会怎么做?这是否意味着,这个问题只能通过递归函数来解决?
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,
)
)