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

PHP不用遞歸實(shí)現(xiàn)無(wú)限分級(jí)的例子分享

 更新時(shí)間:2014年04月18日 12:57:36   作者:  
這篇文章主要介紹了PHP不用遞歸實(shí)現(xiàn)無(wú)限分級(jí)的例子,實(shí)際上是一種思路,并用簡(jiǎn)單的例子來(lái)說(shuō)明,需要的朋友可以參考下

兩個(gè)不用遞歸的樹(shù)形數(shù)組操作函數(shù)

復(fù)制代碼 代碼如下:

/**
 * 創(chuàng)建父節(jié)點(diǎn)樹(shù)形數(shù)組
 * 參數(shù)
 * $ar 數(shù)組,鄰接列表方式組織的數(shù)據(jù)
 * $id 數(shù)組中作為主鍵的下標(biāo)或關(guān)聯(lián)鍵名
 * $pid 數(shù)組中作為父鍵的下標(biāo)或關(guān)聯(lián)鍵名
 * 返回 多維數(shù)組
 **/
function find_parent($ar, $id='id', $pid='pid') {
  foreach($ar as $v) $t[$v[$id]] = $v;
  foreach ($t as $k => $item){
    if( $item[$pid] ){
      if( ! isset($t[$item[$pid]]['parent'][$item[$pid]]) )
         $t[$item[$id]]['parent'][$item[$pid]] =& $t[$item[$pid]];
    }
  }
  return $t;
}


/**
 * 創(chuàng)建子節(jié)點(diǎn)樹(shù)形數(shù)組
 * 參數(shù)
 * $ar 數(shù)組,鄰接列表方式組織的數(shù)據(jù)
 * $id 數(shù)組中作為主鍵的下標(biāo)或關(guān)聯(lián)鍵名
 * $pid 數(shù)組中作為父鍵的下標(biāo)或關(guān)聯(lián)鍵名
 * 返回 多維數(shù)組
 **/
function find_child($ar, $id='id', $pid='pid') {
  foreach($ar as $v) $t[$v[$id]] = $v;
  foreach ($t as $k => $item){
    if( $item[$pid] ) {
      $t[$item[$pid]]['child'][$item[$id]] =& $t[$k];
    }
  }
  return $t;
}

使用例子:

復(fù)制代碼 代碼如下:

$data = array(
  array('ID'=>1, 'PARENT'=>0, 'NAME'=>'祖父'),
  array('ID'=>2, 'PARENT'=>1, 'NAME'=>'父親'),
  array('ID'=>3, 'PARENT'=>1, 'NAME'=>'叔伯'),
  array('ID'=>4, 'PARENT'=>2, 'NAME'=>'自己'),
  array('ID'=>5, 'PARENT'=>4, 'NAME'=>'兒子'),
);

$p = find_parent($data, 'ID', 'PARENT');
$c = find_child($data, 'ID', 'PARENT');


執(zhí)行效果:

復(fù)制代碼 代碼如下:

Array
(
    [1] => Array
        (
            [ID] => 1
            [PARENT] => 0
            [NAME] => 祖父
            [child] => Array
                (
                    [2] => Array
                        (
                            [ID] => 2
                            [PARENT] => 1
                            [NAME] => 父親
                            [child] => Array
                                (
                                    [4] => Array
                                        (
                                            [ID] => 4
                                            [PARENT] => 2
                                            [NAME] => 自己
                                            [child] => Array
                                                (
                                                    [5] => Array
                                                        (
                                                            [ID] => 5
                                                            [PARENT] => 4
                                                            [NAME] => 兒子
                                                        )

                                                )

                                        )

                                )

                        )

                    [3] => Array
                        (
                            [ID] => 3
                            [PARENT] => 1
                            [NAME] => 叔伯
                        )

                )

        )

    [2] => Array
        (
            [ID] => 2
            [PARENT] => 1
            [NAME] => 父親
            [child] => Array
                (
                    [4] => Array
                        (
                            [ID] => 4
                            [PARENT] => 2
                            [NAME] => 自己
                            [child] => Array
                                (
                                    [5] => Array
                                        (
                                            [ID] => 5
                                            [PARENT] => 4
                                            [NAME] => 兒子
                                        )

                                )

                        )

                )

        )

    [3] => Array
        (
            [ID] => 3
            [PARENT] => 1
            [NAME] => 叔伯
        )

    [4] => Array
        (
            [ID] => 4
            [PARENT] => 2
            [NAME] => 自己
            [child] => Array
                (
                    [5] => Array
                        (
                            [ID] => 5
                            [PARENT] => 4
                            [NAME] => 兒子
                        )

                )

        )

    [5] => Array
        (
            [ID] => 5
            [PARENT] => 4
            [NAME] => 兒子
        )

)

相關(guān)文章

  • php網(wǎng)頁(yè)版聊天軟件實(shí)現(xiàn)代碼

    php網(wǎng)頁(yè)版聊天軟件實(shí)現(xiàn)代碼

    這篇文章主要介紹了php網(wǎng)頁(yè)版聊天軟件實(shí)現(xiàn)代碼,可以實(shí)現(xiàn)匿名聊天,感興趣的小伙伴們可以參考一下
    2016-08-08
  • php根據(jù)身份證號(hào)碼計(jì)算年齡的實(shí)例代碼

    php根據(jù)身份證號(hào)碼計(jì)算年齡的實(shí)例代碼

    我們只要知道身份證的生成規(guī)則就可以了,像下面我們從指定位置到多少位就是出日期了,然后我們把日期轉(zhuǎn)成時(shí)間戳然后進(jìn)行加減運(yùn)算就得出了年齡了,下面我們看實(shí)例
    2014-01-01
  • PhpStorm2020.1 安裝 debug - Postman 調(diào)用的詳細(xì)教程

    PhpStorm2020.1 安裝 debug - Postman 調(diào)用的詳細(xì)教程

    這篇文章主要介紹了PhpStorm2020.1 安裝 debug - Postman 調(diào)用的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 實(shí)例講解YII2中多表關(guān)聯(lián)的使用方法

    實(shí)例講解YII2中多表關(guān)聯(lián)的使用方法

    最近工作中遇到了YII2多表關(guān)聯(lián)的相關(guān)問(wèn)題,發(fā)現(xiàn)網(wǎng)上這方面的資料并不多,所以想著自己整理下吧,方便自己在以后需要的時(shí)候或者有需要的朋友們參考學(xué)習(xí),下面這篇文章主要給大家介紹了關(guān)于YII2中多表關(guān)聯(lián)的使用方法,需要的朋友下面來(lái)一起看看吧。
    2017-07-07
  • Smarty模板引擎緩存機(jī)制詳解

    Smarty模板引擎緩存機(jī)制詳解

    這篇文章主要介紹了Smarty模板引擎緩存機(jī)制,結(jié)合實(shí)例形式分析了Smarty模板引擎緩存機(jī)制的原理,開(kāi)啟與使用方法以及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-05-05
  • Smarty最簡(jiǎn)單實(shí)現(xiàn)列表奇偶變色的方法

    Smarty最簡(jiǎn)單實(shí)現(xiàn)列表奇偶變色的方法

    這篇文章主要介紹了Smarty最簡(jiǎn)單實(shí)現(xiàn)列表奇偶變色的方法,實(shí)例分析了Smarty屬性與方法的相關(guān)使用技巧,需要的朋友可以參考下
    2015-07-07
  • Yii框架實(shí)現(xiàn)的驗(yàn)證碼、登錄及退出功能示例

    Yii框架實(shí)現(xiàn)的驗(yàn)證碼、登錄及退出功能示例

    這篇文章主要介紹了Yii框架實(shí)現(xiàn)的驗(yàn)證碼、登錄及退出功能,結(jié)合具體實(shí)例形式分析了基于Yii框架實(shí)現(xiàn)的用戶驗(yàn)證登錄及退出操作相關(guān)步驟與操作技巧,需要的朋友可以參考下
    2017-05-05
  • PHP rsa加密解密使用方法

    PHP rsa加密解密使用方法

    這篇文章主要介紹了PHP rsa加密解密使用方法,本文講解了生成公鑰、私鑰及PHP中使用生成的公鑰、私鑰進(jìn)行加密解密實(shí)例,需要的朋友可以參考下
    2015-04-04
  • Yii基于CActiveForm的Ajax數(shù)據(jù)驗(yàn)證用法示例

    Yii基于CActiveForm的Ajax數(shù)據(jù)驗(yàn)證用法示例

    這篇文章主要介紹了Yii基于CActiveForm的Ajax數(shù)據(jù)驗(yàn)證用法,結(jié)合實(shí)例形式分析了Yii視圖自定義Form表單的ajax提交及控制器處理實(shí)現(xiàn)方法,需要的朋友可以參考下
    2016-07-07
  • thinkphp5修改view到根目錄實(shí)例方法

    thinkphp5修改view到根目錄實(shí)例方法

    在本篇文章里小編給大家分享了關(guān)于thinkphp5修改view到根目錄實(shí)例方法以及相關(guān)代碼,需要的朋友們學(xué)習(xí)下。
    2019-07-07

最新評(píng)論

商城县| 嘉黎县| 木兰县| 嘉鱼县| 通城县| 赫章县| 双峰县| 北宁市| 镇康县| 滁州市| 宝鸡市| 石狮市| 双流县| 曲阳县| 桂阳县| 韩城市| 勐海县| 英德市| 招远市| 青龙| 德州市| 西畴县| 织金县| 孟津县| 海盐县| 东乡县| 开封市| 浦东新区| 富源县| 福贡县| 眉山市| 都昌县| 扬州市| 沧州市| 子洲县| 嘉定区| 土默特右旗| 开阳县| 南岸区| 舒兰市| 靖远县|