中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

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精品久久久 | 日本在线一区二区三区 | 国产99久久精品 | 日韩a在线 | 欧美日韩综合 | 亚洲一区中文字幕 | 国产福利资源在线 | 国产精品国产精品国产专区不卡 | 91亚洲精品久久久电影 | 色成人免费网站 | 日韩国产一区二区三区 | 国产精品国产成人国产三级 | 国产一区二区三区www | 国产成人在线视频 | 日韩欧美精品一区 | 国产福利视频 | 国产免费麻豆视频 | 综合精品久久久 | 中文字幕在线观看一区二区 | 精品国产乱码久久久久久丨区2区 | 狠狠插天天干 | 欧美第一页 | 欧美在线视频一区 | 亚洲国产精品一区二区第一页 | 亚洲视频一区在线观看 | 国产精品永久免费视频 | 久久精品久久精品 | 精品日韩一区二区 | 日韩羞羞 | 久久久精品亚洲 | 精品国产精品国产偷麻豆 | 亚洲精品久久久一区二区三区 | 久久国产麻豆 | 国产精品五区 | 婷婷桃色网 | 先锋资源吧 | 精品一区国产 | 中文字幕 国产 | 久热国产精品视频 | 日韩欧美精品一区 | 国产精品毛片一区二区三区 |