【发布时间】:2014-11-25 12:06:17
【问题描述】:
生成数组格式的函数:
function buildTree(array $elements, $parentId = 0) {
$branch = array();
foreach ($elements as $element) {
if ($element['parent_id'] == $parentId) {
$children = buildTree($elements, $element['id']);
if ($children) {
$element['children'] = $children;
}
$branch[] = $element;
}
}
return $branch;
}
$tree = buildTree($rows);
数组生成:
Array
(
[0] => Array
(
[TASK_ID] => 2
[PARENT_TASKID] => 0
[TASK_LEVEL] => 0
[children] => Array
(
[0] => Array
(
[TASK_ID] => 9
[PARENT_TASKID] => 2
[TASK_LEVEL] => 1
)
[1] => Array
(
[TASK_ID] => 10
[PARENT_TASKID] => 2
[TASK_LEVEL] => 1
)
)
)
[1] => Array
(
[TASK_ID] => 1
[PARENT_TASKID] => 0
[TASK_LEVEL] => 0
[children] => Array
(
[0] => Array
(
[TASK_ID] => 4
[PARENT_TASKID] => 1
[TASK_LEVEL] => 1
)
[1] => Array
(
[TASK_ID] => 5
[PARENT_TASKID] => 1
[TASK_LEVEL] => 1
[children] => Array
(
[0] => Array
(
[TASK_ID] => 6
[PARENT_TASKID] => 5
[TASK_LEVEL] => 2
)
)
)
)
)
)
如何将上述格式更改为以下格式:
Array
(
[0] => Array
(
[TASK_ID] => 2
[PARENT_TASKID] => 0
)
[1] => Array
(
[TASK_ID] => 9
[PARENT_TASKID] => 2
)
[2] => Array
(
[TASK_ID] => 10
[PARENT_TASKID] => 2
)
)
尝试以下代码:
$flat = call_user_func_array('array_merge', $array);
和
$array = your array
$result = call_user_func_array('array_merge', $array);
echo "<pre>";
print_r($result);
但似乎不起作用。请帮忙。
谢谢。
【问题讨论】:
-
你自己有没有尝试过?
-
你是如何生成数组的?您必须向我们提供更多信息以帮助您。还有你自己试过什么?
-
请查看相关更新
-
为什么要投反对票?投反对票必须有理由。