中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP數組轉樹結構以及樹結構轉數組的示例

發布時間:2021-02-24 10:03:57 來源:億速云 閱讀:187 作者:清風 欄目:編程語言

本文將為大家詳細介紹“PHP數組轉樹結構以及樹結構轉數組的示例”,內容步驟清晰詳細,細節處理妥當,而小編每天都會更新不同的知識點,希望這篇“PHP數組轉樹結構以及樹結構轉數組的示例”能夠給你意想不到的收獲,請大家跟著小編的思路慢慢深入,具體內容如下,一起去收獲新知識吧。

php有什么用

php是一個嵌套的縮寫名稱,指的是英文超級文本預處理語言(php:Hypertext Preprocessor)的縮寫,它的語法混合了C、Java、Perl以及php自創新的語法,主要用來做網站開發,許多小型網站都用php開發,因為php是開源的,從而使得php經久不衰。

public function index()
    {
        $data = [
            [
                'id'=>1,
                'parent_id' => 0,
                'name' => '第一個'
            ],

            [
                'id'=>2,
                'parent_id' => 0,
                'name' => '第二個'
            ],

            [
                'id'=>3,
                'parent_id' => 1,
                'name' => '第三個'
            ],

        ];
        $r = $this->list_to_tree($data);
        dump($r);
    }

PHP數組轉樹結構以及樹結構轉數組的示例

#數組轉樹結構#

function list_to_tree($list, $root = 0, $pk = 'id', $pid = 'parent_id', $child = 'children'){
    // 創建Tree
    $tree = array();
    if (is_array($list)) {
        // 創建基于主鍵的數組引用
        $refer = array();
        foreach ($list as $key => $data) {
            $refer[$data[$pk]] = &$list[$key];
        }
        foreach ($list as $key => $data) {
            // 判斷是否存在parent
            $parentId = 0;
            if (isset($data[$pid])) {
                $parentId = $data[$pid];
            }
            if ((string)$root == $parentId) {
                $tree[] = &$list[$key];
            } else {
                if (isset($refer[$parentId])) {
                    $parent = &$refer[$parentId];
                    $parent[$child][] = &$list[$key];
                }
            }
        }
    }
    return $tree;}

#樹結構轉數組#

function tree_to_list($tree = [], $children = 'children'){
    if (empty($tree) || !is_array($tree)) {
        return $tree;
    }
    $arrRes = [];
    foreach ($tree as $k => $v) {
        $arrTmp = $v;
        unset($arrTmp[$children]);
        $arrRes[] = $arrTmp;
        if (!empty($v[$children])) {
            $arrTmp = tree_to_list($v[$children]);
            $arrRes = array_merge($arrRes, $arrTmp);
        }
    }
    return $arrRes;}

如果你能讀到這里,小編希望你對“PHP數組轉樹結構以及樹結構轉數組的示例”這一關鍵問題有了從實踐層面最深刻的體會,具體使用情況還需要大家自己動手實踐使用過才能領會,如果想閱讀更多相關內容的文章,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

老河口市| 莱州市| 麦盖提县| 界首市| 忻州市| 称多县| 芒康县| 禹州市| 乌拉特前旗| 喀喇沁旗| 青铜峡市| 明光市| 永善县| 阿坝| 涞源县| 阳东县| 贵州省| 长治市| 松溪县| 许昌县| 渝中区| 望奎县| 梅河口市| 临邑县| 横峰县| 平江县| 罗田县| 沅陵县| 广德县| 军事| 威信县| 晋江市| 鄂尔多斯市| 建平县| 曲松县| 内黄县| 应用必备| 吐鲁番市| 临桂县| 博野县| 宜城市|