muhammetsafak / data-tree
将一维数组转换为具有关系的多维树。
0.1
2023-01-14 16:37 UTC
Requires
- php: >=7.4
This package is auto-updated.
Last update: 2024-09-14 20:40:48 UTC
README
这个简单的库/类允许您使用一维数组获取树结构。
注意:此库处理包含1,000,000个元素的数组大约需要1.10秒,使用超过400MB的内存。请记住,处理的数据越大,所需的内存和时间就越多。
安装
composer require muhammetsafak/data-tree
用法
require_once "vendor/autoload.php"; use MuhammetSafak\DataTree\TreeGenerator; $data = [ ['ID' => 1, 'parent_id' => 0, 'random_name' => 'Random #1'], ['ID' => 2, 'parent_id' => 0, 'random_name' => 'Random #2'], ['ID' => 3, 'parent_id' => 1, 'random_name' => 'Random #3'], ['ID' => 4, 'parent_id' => 2, 'random_name' => 'Random #4'], ['ID' => 5, 'parent_id' => 0, 'random_name' => 'Random #5'], ['ID' => 6, 'parent_id' => 2, 'random_name' => 'Random #6'], ]; $tree = (new TreeGenerator($data)) ->setRelation('id', 'parentId') ->setReName('ID', 'id') ->setReName('parent_id', 'parentId') ->setReName('random_name', 'name') ->setChildNodeName('@childrens') ->toTree(); print_r($tree);
输出
Array
(
[0] => Array
(
[id] => 1
[parentId] => 0
[name] => Random #1
[@childrens] => Array
(
[0] => Array
(
[id] => 3
[parentId] => 1
[name] => Random #3
)
)
)
[1] => Array
(
[id] => 2
[parentId] => 0
[name] => Random #2
[@childrens] => Array
(
[0] => Array
(
[id] => 4
[parentId] => 2
[name] => Random #4
)
[1] => Array
(
[id] => 6
[parentId] => 2
[name] => Random #6
)
)
)
[2] => Array
(
[id] => 5
[parentId] => 0
[name] => Random #5
)
)
致谢
许可证
版权所有 © 2022 MIT许可证