Tree(无限分类)使用说明
DoitPHP扩展类Tree(无限分类),用于处理无限分类树,电子商务网站经常用。如果你连“无限分类”的概念还不清楚,请先去google上百度一下,或者去百度google一下。
类方法使用说明
1、setKeyName($nodeId = 'id', $nodeName = 'name', $nodeParentId = 'pid', $nodeChildName = 'child')
|设置分类树数组的Key,即节点数组的字段名(初始化配置)
|参数说明:
|$nodeId : 分类树数组key的节点Id
|$nodeName : 分类树数组key的节点名称
|$nodeParentId : 分类树数组key的分节点Id
|$nodeChildName : 分类树数组key的子节点Id
2、getTree($data, $parentId = 0)
|获取无限分类树
|参数说明:
|$data : 待处理的数组
|$parentId : 父ID
使用举例
例一
Controller文件代码内容如下:
- public function indexAction() {
- $citys = array(
- array('city_id'=>1, 'city_name'=>'北京', 'pid'=>0),
- array('city_id'=>2, 'city_name'=>'上海', 'pid'=>0),
- array('city_id'=>3, 'city_name'=>'海淀区', 'pid'=>1),
- array('city_id'=>4, 'city_name'=>'浦东新区', 'pid'=>2),
- );
- $treeObj = $this->instance('Tree');
- $treeObj->setKeyName('city_id', 'city_name', 'pid');
- $data = $treeObj->getTree($citys, 0);
- $this->dump($data);
- }
输出结果为:
- Array
- (
- [1] => Array
- (
- [city_id] => 1
- [city_name] => 北京
- [child] => Array
- (
- [3] => Array
- (
- [city_id] => 3
- [city_name] => 海淀区
- [child] => Array
- (
- )
- )
- )
- )
- [2] => Array
- (
- [city_id] => 2
- [city_name] => 上海
- [child] => Array
- (
- [4] => Array
- (
- [city_id] => 4
- [city_name] => 浦东新区
- [child] => Array
- (
- )
- )
- )
- )
- )
原文: http://www.doitphp.com/index/documentation/?articleid=43