- 广场
-
- 搜索中...
- 本文档内搜索
zxf/tools 使用手册
Tree 树形结构化
// 结构:
$arr = array(
array('id'=>'1','pid'=>0,'name'=>'一级栏目一'),
array('id'=>'2','pid'=>0,'name'=>'一级栏目二', 'weight' => 101),
array('id'=>'3','pid'=>1,'name'=>'二级栏目一', 'weight' => 1),
array('id'=>'4','pid'=>1,'name'=>'二级栏目二', 'weight' => 2),
array('id'=>'5','pid'=>2,'name'=>'二级栏目三'),
array('id'=>'6','pid'=>3,'name'=>'三级栏目一'),
array('id'=>'7','pid'=>3,'name'=>'三级栏目二')
)
// 用法:
// 使用默认配置 初始化数据
$tree = zxf\Tools\Tree::instance($data);
// OR
$tree = zxf\Tools\Tree::instance()->setData($data);
// 自定义id、pid、children配置
zxf\Tools\Tree::instance($data)->setId('id')->setPid('pid')->setChildlist('children')->getTree();
// 自定义权重字段和排序方式
zxf\Tools\Tree::instance($data)->setWeight('weight')->setSortType('desc')->getTree();
// 自定义根节点id,默认为0
zxf\Tools\Tree::instance($data)->setRootId(1)->getTree();
// 接口:
// 获取结构树
$nodes = $tree->getTree();
// 获取所有子节点的主键(包含自己)
$nodes = $tree->getChildrenAndMeIds(1);
// 获取所有子节点列表(包含自己)
$nodes = $tree->getChildrenAndMeNodes(1);
// 获取所有子节点的主键(不包含自己)
$nodes = $tree->getChildrenIds(1);
// 获取所有子节点列表(不包含自己)
$nodes = $tree->getChildrenNodes(1);
// 获取所有父节点主键(包含自己)
$nodes = $tree->getParentAndMeIds(5);
// 获取所有父节点列表(包含自己)
$nodes = $tree->getParentAndMeNodes(5);
// 获取所有父节点主键(不包含自己)
$nodes = $tree->getParentIds(5);
// 获取所有父节点列表(不包含自己)
$nodes = $tree->getParentNodes(5);
// 获取所有根节点主键
$roots = $tree->getRootsIds();
// 重新初始化数据
$tree->reset();
// 添加新节点
$tree->addNode(['id' => 7, 'pid' => 0, 'name' => 'New Node']);
// 删除节点
$tree->removeNode(7);
// 更新节点
$tree->updateNode(2, ['name' => 'Updated Node']);