簡體   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