最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP從二維數(shù)組得到N層分類樹(shù)的實(shí)現(xiàn)代碼

 更新時(shí)間:2016年10月11日 16:10:30   投稿:mdxy-dxy  
這篇文章主要介紹了PHP從二維數(shù)組得到N層分類樹(shù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下

公司的產(chǎn)品分類存在一張表內(nèi),以mid標(biāo)識(shí)其父分類,需要得到有層次結(jié)構(gòu)的數(shù)組,以備后續(xù)操作。

想了下,想了一會(huì)兒沒(méi)想出不去重復(fù)讀取數(shù)據(jù)庫(kù)的方法或者不需要遞歸的操作。

數(shù)據(jù)源:(數(shù)據(jù)要求一維key與對(duì)應(yīng)value二維數(shù)組的id要一樣)

$items = array(
    1 => array('id' => 1, 'pid' => 0, 'name' => '江西省'),
    2 => array('id' => 2, 'pid' => 0, 'name' => '黑龍江省'),
    3 => array('id' => 3, 'pid' => 1, 'name' => '南昌市'),
    4 => array('id' => 4, 'pid' => 2, 'name' => '哈爾濱市'),
    5 => array('id' => 5, 'pid' => 2, 'name' => '雞西市'),
    6 => array('id' => 6, 'pid' => 4, 'name' => '香坊區(qū)'),
    7 => array('id' => 7, 'pid' => 4, 'name' => '南崗區(qū)'),
    8 => array('id' => 8, 'pid' => 6, 'name' => '和興路'),
    9 => array('id' => 9, 'pid' => 7, 'name' => '西大直街'),
    10 => array('id' => 10, 'pid' => 8, 'name' => '東北林業(yè)大學(xué)'),
    11 => array('id' => 11, 'pid' => 9, 'name' => '哈爾濱工業(yè)大學(xué)'),
    12 => array('id' => 12, 'pid' => 8, 'name' => '哈爾濱師范大學(xué)'),
    13 => array('id' => 13, 'pid' => 1, 'name' => '贛州市'),
    14 => array('id' => 14, 'pid' => 13, 'name' => '贛縣'),
    15 => array('id' => 15, 'pid' => 13, 'name' => '于都縣'),
    16 => array('id' => 16, 'pid' => 14, 'name' => '茅店鎮(zhèn)'),
    17 => array('id' => 17, 'pid' => 14, 'name' => '大田鄉(xiāng)'),
    18 => array('id' => 18, 'pid' => 16, 'name' => '義源村'),
    19 => array('id' => 19, 'pid' => 16, 'name' => '上壩村'),
);

生成樹(shù)的函數(shù):

function genTree9($items) {
    $tree = array();
    foreach ($items as $item)
        if (isset($items[$item['pid']]))
            $items[$item['pid']]['son'][] = &$items[$item['id']];
        else
            $tree[] = &$items[$item['id']];
    return $tree;
}

當(dāng)然。滿足特定條件下的數(shù)據(jù),更是可以把函數(shù)縮到只有短短5行:

function genTree5($items) {
    foreach ($items as $item)
        $items[$item['pid']]['son'][$item['id']] = &$items[$item['id']];
    return isset($items[0]['son']) ? $items[0]['son'] : array();
}

一遍循環(huán),內(nèi)存引用。省時(shí)又省空間。

相關(guān)文章

  • php實(shí)現(xiàn)向javascript傳遞數(shù)組的方法

    php實(shí)現(xiàn)向javascript傳遞數(shù)組的方法

    這篇文章主要介紹了php實(shí)現(xiàn)向javascript傳遞數(shù)組的方法,涉及php數(shù)組轉(zhuǎn)json傳遞到j(luò)avascript的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 分享一則PHP定義函數(shù)代碼

    分享一則PHP定義函數(shù)代碼

    這篇文章主要介紹了分享一則PHP定義函數(shù)代碼,主要是讓大家熟悉下php的語(yǔ)法格式以及php中插入HTML代碼的方式,希望能夠給到大家一些幫助。
    2015-02-02
  • PHP Beanstalkd消息隊(duì)列的安裝與使用方法實(shí)例詳解

    PHP Beanstalkd消息隊(duì)列的安裝與使用方法實(shí)例詳解

    這篇文章主要介紹了PHP Beanstalkd消息隊(duì)列的安裝與使用方法,結(jié)合實(shí)例形式詳細(xì)分析了PHP Beanstalkd消息隊(duì)列的基本功能、原理、安裝、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • php 讀取shell管道傳輸過(guò)來(lái)的內(nèi)容

    php 讀取shell管道傳輸過(guò)來(lái)的內(nèi)容

    已經(jīng)寫(xiě)了不少后臺(tái)運(yùn)行的deamon了.用的挺順手的,但是我現(xiàn)在想獲取管道傳過(guò)來(lái)的內(nèi)容,不知道咋實(shí)現(xiàn),類似echo "aaaa" |a.php,a.php怎么獲得echo的內(nèi)容,不知道您有什么高見(jiàn).
    2010-03-03
  • Cygwin中安裝PHP方法步驟

    Cygwin中安裝PHP方法步驟

    這篇文章主要介紹了Cygwin中安裝PHP方法步驟,本文共用3步完了PHP的安裝,相對(duì)來(lái)說(shuō)挺簡(jiǎn)單的,需要的朋友可以參考下
    2015-07-07
  • PHP實(shí)現(xiàn)仿百度文庫(kù),豆丁在線文檔效果(word,excel,ppt轉(zhuǎn)flash)

    PHP實(shí)現(xiàn)仿百度文庫(kù),豆丁在線文檔效果(word,excel,ppt轉(zhuǎn)flash)

    這篇文章主要介紹了PHP實(shí)現(xiàn)仿百度文庫(kù),豆丁在線文檔效果,可實(shí)現(xiàn)word,excel,ppt轉(zhuǎn)flash顯示的功能,結(jié)合實(shí)例形式分析了常見(jiàn)的解決方案與CentOS環(huán)境下的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • PHP基于GD庫(kù)的圖像處理方法小結(jié)

    PHP基于GD庫(kù)的圖像處理方法小結(jié)

    這篇文章主要介紹了PHP基于GD庫(kù)的圖像處理方法,結(jié)合實(shí)例形式總結(jié)分析了php操作GD庫(kù)實(shí)現(xiàn)圖形繪制功能的相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下
    2016-09-09
  • PHP 使用MySQL管理Session的回調(diào)函數(shù)詳解

    PHP 使用MySQL管理Session的回調(diào)函數(shù)詳解

    本篇文章文章是對(duì)PHP中使用MySQL管理Session的回調(diào)函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php數(shù)組添加元素方法小結(jié)

    php數(shù)組添加元素方法小結(jié)

    這篇文章主要介紹了php數(shù)組添加元素方法,實(shí)例總結(jié)了常見(jiàn)的數(shù)組添加元素的方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-12-12
  • PHP SESSION的增加、刪除、修改、查看操作

    PHP SESSION的增加、刪除、修改、查看操作

    這篇文章主要介紹了PHP SESSION的增加、刪除、修改、查看操作,本文直接給出操作實(shí)例,需要的朋友可以參考下
    2015-03-03

最新評(píng)論

民权县| 临城县| 宜宾市| 曲麻莱县| 溆浦县| 徐汇区| 临邑县| 琼海市| 英超| 新干县| 嘉祥县| 秭归县| 三亚市| 红安县| 博兴县| 巢湖市| 社旗县| 青浦区| 伊金霍洛旗| 安顺市| 天水市| 南昌县| 孙吴县| 平谷区| 南雄市| 海门市| 邳州市| 布尔津县| 哈密市| 甘肃省| 隆昌县| 广宁县| 维西| 永昌县| 方城县| 唐海县| 海晏县| 九龙坡区| 横峰县| 宾阳县| 六安市|