tp5常用的工具类出炉啦,热乎乎的~~

浏览:2354 最后更新:2018-08-29 09:27 分类:示例 关键字: tp5tool composer
安装
composer require "xiucaiwu/tp5tool:dev-master"
删除
composer remove xiucaiwu/tp5tool
更新
composer update xiucaiwu/tp5tool
使用

//引入类库
use PHPTool\SelectTree;
use PHPTool\NodeTree;
//SelectTree 使用案例
public function stdemo()
{
    $arr = array(
             1  => array('id' =>'1','parentid' =>0,'name' =>'一级栏目一'),
             2  => array('id' =>'2','parentid' =>0,'name' =>'一级栏目二'),
             3  => array('id' =>'3','parentid' =>1,'name' =>'二级栏目一'),
             4  => array('id' =>'4','parentid' =>1,'name' =>'二级栏目二'),
             5  => array('id' =>'5','parentid' =>2,'name' =>'二级栏目三'),
             6  => array('id' =>'6','parentid' =>3,'name' =>'三级栏目一'),
             7  => array('id' =>'7','parentid' =>3,'name' =>'三级栏目二')
        );
        $st = new SelectTree($arr);
        dump($st->getArray());
        // 下拉菜单选项使用 get_tree方法
        $html='<select name="tree">';
        $str = "<option value=\$id \$selected>\$spacer\$name</option>";     // $name是数组中存在的key
        $html .= $st->get_tree(0, $str, -1).'</select>';
        echo $html;
}
// 输出
array(7) {
  [1] => array(3) {
    ["id"] => string(1) "1"
    ["parentid"] => int(0)
    ["name"] => string(16) " 一级栏目一"
  }
  [3] => array(3) {
    ["id"] => string(1) "3"
    ["parentid"] => int(1)
    ["name"] => string(46) "    ├─ 二级栏目一"
  }
  [6] => array(3) {
    ["id"] => string(1) "6"
    ["parentid"] => int(3)
    ["name"] => string(73) "    │    ├─ 三级栏目一"
  }
  [7] => array(3) {
    ["id"] => string(1) "7"
    ["parentid"] => int(3)
    ["name"] => string(74) "    │     └─ 三级栏目二"
  }
  [4] => array(3) {
    ["id"] => string(1) "4"
    ["parentid"] => int(1)
    ["name"] => string(47) "     └─ 二级栏目二"
  }
  [2] => array(3) {
    ["id"] => string(1) "2"
    ["parentid"] => int(0)
    ["name"] => string(16) " 一级栏目二"
  }
  [5] => array(3) {
    ["id"] => string(1) "5"
    ["parentid"] => int(2)
    ["name"] => string(47) "     └─ 二级栏目三"
  }
}
<select name="tree">
<option value=1 >一级栏目一</option>
<option value=3 > ├─二级栏目一</option>
<option value=6 > │ ├─三级栏目一</option>
<option value=7 > │  └─三级栏目二</option>
<option value=4 >  └─二级栏目二</option>
<option value=2 >一级栏目二</option>
<option value=5 >  └─二级栏目三</option>
</select>
// NodeTree使用案例
public function ntdemo() {
        //原始数据, 从数据库读出
        $data = array(
            array(
                'id'=>1,
                'name'=>'book',
                'parent_id'=>0
            ),
            array(
                'id'=>2,
                'name'=>'music',
                'parent_id'=>0
            ),
            array(
                'id'=>3,
                'name'=>'book1',
                'parent_id'=>1
            ),
            array(
                'id'=>4,
                'name'=>'book2',
                'parent_id'=>3
            )
        );
        $r = NodeTree::makeTree($data);
        echo json_encode($r);
    }
// 输出
[{
    "id": 1,
    "name": "book",
    "parent_id": 0,
    "expanded": false,
    "children": [{
        "id": 3,
        "name": "book1",
        "parent_id": 1,
        "expanded": false,
        "children": [{
            "id": 4,
            "name": "book2",
            "parent_id": 3,
            "leaf": true
        }]
    }]
}, {
    "id": 2,
    "name": "music",
    "parent_id": 0,
    "leaf": true
}]
欢迎大家给star,本人组建了一个技术交流群14977386欢迎共同探讨!~
评论( 相关
后面还有条评论,点击查看>>