zTree树插件所需标准JSON数据格式,如何用PHP的SPL实现算法?
在使用zTree过程中,插件所需要的JSON格式数据如下所示,目前需要一个算法,将目录格式化为下面数组所示的格式,目录层级未知,算法可以是一个单独的函数或者用PHP的SPL中的RecursiveDirectoryIterator+ RecursiveIteratorIterator来实现。
//zTree插件所需JSON格式数据
[
{ name:"父节点1 - 展开", open:true,
children: [
{ name:"父节点11 - 折叠",
children: [
{ name:"叶子节点111"},
{ name:"叶子节点112"},
{ name:"叶子节点113"},
{ name:"叶子节点114"}
]},
{ name:"父节点12 - 折叠",
children: [
{ name:"叶子节点121"},
{ name:"叶子节点122"},
{ name:"叶子节点123"},
{ name:"叶子节点124"}
]},
{ name:"父节点13 - 没有子节点", isParent:true}
]
},
{ name:"父节点2 - 折叠",
children: [
{ name:"父节点21 - 展开", open:true,
children: [
{ name:"叶子节点211"},
{ name:"叶子节点212"},
{ name:"叶子节点213"},
{ name:"叶子节点214"}
]},
{ name:"父节点22 - 折叠",
children: [
{ name:"叶子节点221"},
{ name:"叶子节点222"},
{ name:"叶子节点223"},
{ name:"叶子节点224"}
]},
{ name:"父节点23 - 折叠",
children: [
{ name:"叶子节点231"},
{ name:"叶子节点232"},
{ name:"叶子节点233"},
{ name:"叶子节点234"}
]}
]
},
{ name:"父节点3 - 没有子节点", isParent:true}
];
// 算法应得的结果数组
$dir = array(
array(
'name' => '一级目录1',
'children' => array(
array(
'name' => '二级目录',
'children' => array(
array('name'=>'文件1'),
array('name'=>'文件2'),
array('name'=>'文件3'),
array('name'=>'文件4'),
)
)
)
),
array(
'name' => '一级目录2',
'children' => array(
array('name'=>'文件1'),
array('name'=>'文件2'),
array('name'=>'文件3'),
array('name'=>'文件4'),
)
),
array(
'name' => '一级目录3',
),
);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)