$list=Db::table('fdz_zz')->order('order','desc')->select();
$tree = [];
if (is_array($list)) {
    $refer = [];
    foreach ($list as $key => $data) {
        $refer[$data['id']] =& $list[$key];
    }
    foreach ($list as $key => $data) {
        $parentId = $data['pid'];
        if (0 == $parentId) {
            $tree[] =& $list[$key];
        } else {
            if (isset($refer[$parentId])) {
                $parent =& $refer[$parentId];
                $parent['children'][] =& $list[$key];
            }
        }
    }
}
return json($tree);
public static function arr2tree($list, $id = 'id', $pid = 'pid', $son = 'sub')
{
    list($tree, $map) = [[], []];
    foreach ($list as $item) {
        $map[$item[$id]] = $item;
    }

    foreach ($list as $item) {
        if (isset($item[$pid]) && isset($map[$item[$pid]])) {
            $map[$item[$pid]][$son][] = &$map[$item[$id]];
        } else {
            $tree[] = &$map[$item[$id]];
        }
    }
    unset($map);
    return $tree;
}

https://learnku.com/laravel/t/38977

标签: php

添加新评论