<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>

                **將一個平面的二維數組按照指定的字段轉換為樹狀結構** * * * * * **代碼:** ~~~ function toTree($arr, $key_node_id, $key_parent_id = 'parent_id', $key_childrens = 'children', $treeIndex = false, & $refs = null) { $refs = array (); foreach ( $arr as $offset => $row ) { $arr [$offset] [$key_childrens] = array (); $refs [$row [$key_node_id]] = & $arr [$offset]; } $tree = array (); foreach ( $arr as $offset => $row ) { $parent_id = $row [$key_parent_id]; if ($parent_id) { if (! isset ( $refs [$parent_id] )) { if ($treeIndex) { $tree [$offset] = & $arr [$offset]; } else { $tree [] = & $arr [$offset]; } continue; } $parent = & $refs [$parent_id]; if ($treeIndex) { $parent [$key_childrens] [$offset] = & $arr [$offset]; } else { $parent [$key_childrens] [] = & $arr [$offset]; } } else { if ($treeIndex) { $tree [$offset] = & $arr [$offset]; } else { $tree [] = & $arr [$offset]; } } } return $tree; } ~~~ **調用:** ~~~ $rows = array( array('id' => 1, 'value' => '1-1', 'parent' => 0), array('id' => 2, 'value' => '2-1', 'parent' => 0), array('id' => 3, 'value' => '3-1', 'parent' => 0), array('id' => 7, 'value' => '2-1-1', 'parent' => 2), array('id' => 8, 'value' => '2-1-2', 'parent' => 2), array('id' => 9, 'value' => '3-1-1', 'parent' => 3), array('id' => 10, 'value' => '3-1-1-1', 'parent' => 9), ); $tree = Helper_Array::tree($rows, 'id', 'parent', 'nodes'); dump($tree); //輸出結果: array( array('id' => 1, ..., 'nodes' => array()), array('id' => 2, ..., 'nodes' => array( array(..., 'parent' => 2, 'nodes' => array()), array(..., 'parent' => 2, 'nodes' => array()), ), array('id' => 3, ..., 'nodes' => array( array('id' => 9, ..., 'parent' => 3, 'nodes' => array( array(..., , 'parent' => 9, 'nodes' => array(), ), ), ) ~~~
                  <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>

                              哎呀哎呀视频在线观看