123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- namespace app\admin\model;
- use think\facade\Db;
- class Ztrees
- {
-
- public static function sortListTier($data, $pid = 0, $field = 'pid', $pk = 'id', $html = '|-----', $level = 1, $clear = true)
- {
- static $list = [];
- if ($clear) $list = [];
- foreach ($data as $k => $res) {
- if ($res[$field] == $pid) {
- $res['html'] = str_repeat($html, $level);
- $res['level'] =$level;
- $list[] = $res;
- unset($data[$k]);
- self::sortListTier($data, $res[$pk], $field, $pk, $html, $level + 1, false);
- }
- }
- return $list;
- }
- public static function child_ztree($data,$pid=0,$field = 'pid',$level=1,$clear = true)
- {
- static $list = [];
- if ($clear) $list = [];
- foreach ($data as $k => $res) {
- if ($res[$field] == $pid) {
- $list["name"]=$res["name"];
- $list["city"]=$res["name"];
- unset($data[$k]);
- self::child_ztree($data, $res["id"], $field, $level + 1, false);
- }
- }
- return $list;
- }
-
-
- public static function SelectSon($array,$pid="pid",$child="son"){
- $items = array();
- foreach ($array as $value) {
- $items[$value['id']] = $value;
- }
- $tree = array();
- foreach ($items as $key => $item) {
- if (isset($items[$item[$pid]])) {
- $items[$item[$pid]][$child][] = &$items[$key];
- } else {
- $tree[$item[$pid]] = &$items[$key];
- }
- }
- return $tree;
- }
- }
|