【问题标题】:PHP - Create a nested array from MySQL dataPHP - 从 MySQL 数据创建一个嵌套数组
【发布时间】:2011-07-03 22:56:42
【问题描述】:

我有一些数据存储在这样的表中:

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(...)
    ),
    ...
);

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

【问题讨论】:

    标签: php mysql arrays recursion nested


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      这里有一个很好的描述在mysql中管理分层数据: managing hierarchical data 这是另一个构建嵌套数组的好例子: building nested arrays

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

      希望对您有所帮助。

      【讨论】:

      • 第二个链接的例子正是我想要的,谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 1970-01-01
      • 1970-01-01
      • 2020-11-01
      • 1970-01-01
      • 2020-12-21
      相关资源
      最近更新 更多