【发布时间】:2022-06-16 22:58:08
【问题描述】:
我正在尝试从数据库中为 treemaker.js 填充数据 json
现在我预计 json 的输出应该是这样的:
let tree = {
'1': {
'2': {
'3': {
'5': '',
'6': '',
},
'4': {
'7': '',
'8': '',
'9': '',
},
},
},
};
我已经试过了:
function buildTree(array $elements, $parentId = 0) {
$branch = [];
$new = [];
foreach ($elements as $element) {
if ($element['parent_id'] == $parentId) {
$children = $this->buildTree($elements, $element['id']);
if ($children) {
$element[$element['id']] = $children;
} else {
$element[$element['id']] = '';
}
unset($element["id"]);
unset($element["root"]);
unset($element["parent_id"]);
$branch[] = $element;
}
}
return $branch;
}
public function test($id)
{
$data = $this->Data_model->getDataByRoot($id)->result_array();
$tree = $this->buildTree($data);
echo "<pre>";
print_r( json_encode($tree, JSON_PRETTY_PRINT|JSON_FORCE_OBJECT));
}
,我从here得到参考
但结果就像this
你们能告诉我如何按照我的预期完成这项工作吗?
谢谢
【问题讨论】:
标签: javascript php arrays json multidimensional-array