[英]Create recursively nested array
我想基于键创建多维数组。
下面是我的原始数组。
原始数组。
Array
(
[13] => Array
(
[member_id] => 13
[parent_id] => 0
)
[14] => Array
(
[member_id] => 14
[parent_id] => 13
)
[15] => Array
(
[member_id] => 15
[parent_id] => 14
)
)
注意:提供的数组是静态的,但它是动态的。
所需数组
Array
(
[13] => Array
(
[member_id] => 13
[parent_id] => 0
[14] => Array
(
[member_id] => 14
[parent_id] => 13
[15] => Array
(
[member_id] => 15
[parent_id] => 14
)
)
)
)
谢谢。
PHP
function buildTree(array $elements, $parentId = 0) {
$branch = array();
foreach ($elements as $element) {
if ($element['parent_id'] == $parentId) {
$children = buildTree($elements, $element['member_id']);
if ($children) {
$element['children'] = $children;
}
$branch[] = $element;
}
}
return $branch;
}
$tree = buildTree($output);
产量
Array
(
[13] => Array
(
[member_id] => 13
[parent_id] => 0
[children] => Array
(
[0] => Array
(
[member_id] => 14
[parent_id] => 13
[children] => Array
(
[0] => Array
(
[member_id] => 15
[parent_id] => 14
)
)
)
)
)
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.