<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ``` // 無限極分類查找下級(遞歸) function getTree($array, $pid =0, $level = 0){ //聲明靜態數組,避免遞歸調用時,多次聲明導致數組覆蓋 static $list = []; foreach ($array as $key => $value){ //第一次遍歷,找到父節點為根節點的節點 也就是pid=0的節點 if ($value['pid'] == $pid){ //父節點為根節點的節點,級別為0,也就是第一級 $value['level'] = $level; //把數組放到list中 $list[] = $value; //把這個節點從數組中移除,減少后續遞歸消耗 unset($array[$key]); //開始遞歸,查找父ID為該節點ID的節點,級別則為原級別+1 getTree($array, $value['id'], $level+1); } } return $list; } /* * 獲得遞歸完的數據,遍歷生成分類 */ $array = getTree($array); //處理樣式,進行分級 foreach($array as $value){ echo str_repeat('--', $value['level']), $value['name'].'<br />'; } ``` ``` // 無限極分類查找下級(引用) function generateTree($array){ //第一步 構造數據 $items = array(); foreach($array as $value){ $items[$value['id']] = $value; } //第二部 遍歷數據 生成樹狀結構 $tree = array(); foreach($items as $key => $value){ if(isset($items[$item['pid']])){ $items[$item['pid']]['son'][] = &$items[$key]; }else{ $tree[] = &$items[$key]; } } return $tree; } ``` ~~~ /** * 把返回的數據集轉換成Tree(黔南黨建項目使用) * @param $list * @param string $pk * @param string $pid * @param string $child * @param string $root * @return array */ public static function listToTree($list, $pk='id', $pid = 'fid', $child = '_child', $root = '0') { $tree = array(); if(is_array($list)) { $refer = array(); foreach ($list as $key => $data) { $refer[$data[$pk]] = &$list[$key]; } foreach ($list as $key => $data) { $parentId = $data[$pid]; if ($root == $parentId) { $tree[] = &$list[$key]; }else{ if (isset($refer[$parentId])) { $parent = &$refer[$parentId]; $parent[$child][] = &$list[$key]; } } } } return $tree; } // 列子: $categoryTree = Tools::listToTree($categoryList, 'id', 'parent_id', 'children'); ~~~ ~~~ public static function formatTree($list, $lv = 0, $title = 'title'){ $formatTree = array(); foreach($list as $key => $val){ $title_prefix = ''; for( $i=0;$i<$lv;$i++ ){ $title_prefix .= "|---"; } $val['lv'] = $lv; $val['namePrefix'] = $lv == 0 ? '' : $title_prefix; $val['showTitle'] = $lv == 0 ? $val[$title] : $title_prefix.$val[$title]; if(!array_key_exists('_child', $val)){ array_push($formatTree, $val); }else{ $child = $val['_child']; unset($val['_child']); array_push($formatTree, $val); $middle = self::formatTree($child, $lv+1, $title); //進行下一層遞歸 $formatTree = array_merge($formatTree, $middle); } } return $formatTree; } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看