zjutsxj
1/31/2018 - 2:48 AM

cateSort 根据tree数据转化成list数据

tree类型的多维数组转化成list一维数组,可以设置pid、path、sort、child pid: 父id path: 父id路径 sort: 分类排序号 child: 是否有子类

/*
 * 将tree数据转化成list方便保存数据
 */
function cateSort($tree, $pid = 0, $path = '0', &$list = array()) {
    static $sort = 0;
    //dump($tree);
    if (is_array($tree)) {
        foreach ($tree as $key => $value) {
            $sort++;
            $reffer = $value;
            unset($reffer['children']);
            $reffer['sort'] = $sort;
            $reffer['pid']  = $pid;
            $reffer['path'] = $path;
            if (isset($value['children']) and count($value['children']) > 0) {
                $reffer['child'] = 1;
            }
            $list[] = $reffer;

            if (isset($value['children'])) {
                $mypath = $reffer['path'] . ',' . $reffer['id'];
                self::cateSort($value['children'], $value['id'], $mypath, $list);
            }
        }
    }
    return $list;
}