递归

来源:互联网 发布:qq游戏网络连接失败 编辑:程序博客网 时间:2024/06/15 04:22
/** * 递归出菜单层级 * @param $arr * @param $pid * @param int $lev * @return array */private static function rec($arr, $pid=0, $lev = 0){    static $list = array();    foreach ($arr as $v) {        if ($v['pid'] == $pid) {            $v['lev'] = $lev;            $list[] = $v;            self::rec($arr, $v['id'], $lev + 1);        }    }    return $list;

}

/** * [ areasTree ] * @param $rows * @param string $id * @param string $pid * @return array */protected static function  areaTree($data, $id='id', $pid='pid'){    $areas = array();    foreach ($data as $row) {        $areas[$row[$id]] = $row;    }    foreach ($areas as $item) {        $areas[$item[$pid]]['son'][$item[$id]] = &$areas[$item[$id]];    }    return isset($areas[0]['son']) ? $areas[0]['son'] : array();}

原创粉丝点击