繁体   English   中英

PHP - 从MySQL数据创建嵌套数组

[英]PHP - Create a nested array from MySQL data

我有一些数据存储在表中,如下所示:

id  parent_id  name
1   0          Entry 1
2   0          Entry 2
3   0          Entry 3
4   1          Child of entry 1

我想把它变成一个嵌套数组,如下所示:

array(
    array(
        'id' => 1,
        'parent_id' => 0,
        'name' => 'Entry 1',
        'children' => array(...)
    ),
    ...
);

理想情况下,它需要支持无限量的嵌套(有孩子的孩子)。 我的表是否设置为支持这个,如果是这样,我将如何使用表中的数据生成这种数组? 如果没有,我应该如何设置我的桌子?

这里有一个关于在mysql中管理分层数据的非常好的描述: 管理分层数据这是构建嵌套数组的另一个很好的例子: 构建嵌套数组

您可以考虑使用嵌套集模型。 如果你要查询mutch,那么它比你现在使用的邻接模型更好。

希望有所帮助。

您不会拥有来自“普通”SQL数据集的分层数据,但您可以编写一个递归执行此操作的函数。 我目前无法提供代码,但您可能会得到这个想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM