Cml\Vendor\Tree::getTree PHP Method

getTree() public static method

获取树--返回格式化后的数据
public static getTree ( array $list, integer $pid, integer $selectedId, string $str = "<option value='$id' $selected>$tempPrefix$name</option>", string $prefix = '|--', string $selectedString = 'selected' ) : string | array
$list array 数据列表数组
$pid integer 初始化树时候,代表获取pid下的所有子集
$selectedId integer 选中的ID值
$str string 组装后的字串
$prefix string 前缀
$selectedString string 选中时的字串 如selected checked
return string | array
    public static function getTree($list, $pid = 0, $selectedId = 0, $str = "<option value='\$id' \$selected>\$tempPrefix\$name</option>", $prefix = '|--', $selectedString = 'selected')
    {
        if (!is_array($list)) {
            //遍历结束
            self::$times = 0;
            return '';
        }
        $string = $tempPrefix = '';
        self::$times += 1;
        for ($i = 0; $i < self::$times; $i++) {
            $tempPrefix .= $prefix;
        }
        foreach ($list as $v) {
            if ($v[self::$config['pid']] == $pid) {
                //获取pid下的子集
                $id = $v[self::$config['id']];
                //主键id
                $name = $v[self::$config['name']];
                //显示的名称
                $selected = $id == $selectedId ? $selectedString : '';
                //被选中的id
                $tempCode = '';
                eval("\$tempCode = \"{$str}\";");
                //转化
                $string .= $tempCode;
                $string .= self::getTree($list, $v[self::$config['id']], $selectedId, $str, $prefix, $selectedString);
            }
        }
        return $string;
    }