ThinkPHP 無限遞迴

wml_macho發表於2019-07-15

其中 pid 的所屬父級的 id

1.第一種

    public function getcatebypid($pid)
    {
        $data = Db::table("cates")->where("pid", $pid)->select();
        $res  = [];
        //遍歷 遞迴
        foreach ($data as $key => $value) {
            // 程式碼段:核心點
            $value['shop'] = $this->getcatebypid($value['id']);
            $res[]         = $value;
        }
        return $res;
    }

呼叫$this->getcatebypid(0);

2.第二種

function getList($brr, $pid = 0, &$arr = [], $level = 1)
{
    foreach ($brr as $v) {
        if ($v['pid'] == $pid) {
            $v['level'] = $level;
            $arr[]      = $v;
            getList($brr, $v['id'], $arr, $level + 1);
        }
    }
    return $arr;
}

呼叫getList(db("user)->select(),$user['role_id']);

頁面處理{:str_repeat('|——',$vo.level)}{$vo.name} 適用於第二種方法

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章