一区二区久久-一区二区三区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不用遞歸實現無限分級的例子分享,轉載需保留來源!

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

主站蜘蛛池模板: 四虎国产精品一区二区 | 激情综合五月婷婷 | 黄在线视频播放免费网站 | 91人碰 | 五月伊人婷婷 | 欧美午夜色大片在线观看免费 | 中文字幕第二一区 | 波多野结衣视频一区二区 | 亚洲一页| 欧美国产亚洲精品a第一页 欧美国产一区二区二区 | 欧美精品自拍 | 美女福利视频一区二区 | 香蕉人人超人人超免费看视频 | 亚洲精品69 | 国产情侣91| 91福利国产在线观看网站 | 久久久久久久一精品 | 免费观看色 | 免费看一级做a爰片久久 | 国内精品久久久久久久久野战 | 久久久久久噜噜噜久久久精品 | 国产91剧情 | 在线视频一区二区三区三区不卡 | 91福利视频网站 | 国产精品www夜色影视 | 欧美天堂色 | 在线观看视频www在线观看 | 九九九免费视频 | 日韩欧美亚洲国产精品字幕久久久 | 一区二三国产 | 亚洲成人精品在线 | 激情图片激情文学 | 成人激情免费视频 | 一本一本久久a久久综合精品蜜桃 | 亚洲精品香蕉婷婷在线观看 | 中文字幕 亚洲精品 第1页 | 日本高清视频在线 | 亚洲一区二区三区播放在线 | 中文字幕精品亚洲无线码二区 | 亚洲综合色一区二区三区小说 | 亚洲一区视频 |