一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP不用遞歸實現無限分級的例子分享

兩個不用遞歸的樹形數組操作函數

復制代碼 代碼如下:
/**
 * 創建父節點樹形數組
 * 參數
 * $ar 數組,鄰接列表方式組織的數據
 * $id 數組中作為主鍵的下標或關聯鍵名
 * $pid 數組中作為父鍵的下標或關聯鍵名
 * 返回 多維數組
 **/
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;
}


/**
 * 創建子節點樹形數組
 * 參數
 * $ar 數組,鄰接列表方式組織的數據
 * $id 數組中作為主鍵的下標或關聯鍵名
 * $pid 數組中作為父鍵的下標或關聯鍵名
 * 返回 多維數組
 **/
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;
}

使用例子:

復制代碼 代碼如下:
$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');


執行效果:

復制代碼 代碼如下:
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] => 兒子
        )

)

php技術PHP不用遞歸實現無限分級的例子分享,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产极品白嫩美女在线观看看 | 国产男女免费完整视频 | 国产成人啪精品视频免费网站软件 | 五月天激情播播 | 欧美一区二区自偷自拍视频 | 亚洲综合色婷婷久久 | 亚洲欧洲国产经精品香蕉网 | 国产一级特黄a大片99 | 一级做性色a爰片久久毛片免费 | 日韩久久久精品首页 | 激情五月综合综合久久69 | www我要色综合com | 黄色网址在线播放 | 精品国产成人高清在线 | 伊人久久影院大香线蕉 | 亚洲国产一区在线二区三区 | 国产一级特黄在线播放 | 免费观看成人鲁鲁鲁鲁鲁视频 | 欧美高清亚洲欧美一区h | 一区二区三区网站在线免费线观看 | 在线免费观看色视频 | 九一精品国产 | 国语自产精品视频在线第 | 毛片色毛片18毛片美女 | 51国产偷自视频区视频手机播器 | 91久久国产青草亚洲 | 午夜色网站 | 日本一区二区三区精品国产 | 国内外成人免费在线视频 | 2021在线永久免费视频 | 樱花aⅴ一区二区三区四区 影音先锋 色天使 | 污视频免费在线播放 | 在线亚洲天堂 | 国产亚洲精品美女久久久久久2021 | 四虎久久 | 国产精品色婷婷在线观看 | 综合网视频 | 欧美经典成人在观看线视频 | 精品91在线 | 久久精品二区 | www.色com|