• <bdo id='v398W'></bdo><ul id='v398W'></ul>
    <i id='v398W'><tr id='v398W'><dt id='v398W'><q id='v398W'><span id='v398W'><b id='v398W'><form id='v398W'><ins id='v398W'></ins><ul id='v398W'></ul><sub id='v398W'></sub></form><legend id='v398W'></legend><bdo id='v398W'><pre id='v398W'><center id='v398W'></center></pre></bdo></b><th id='v398W'></th></span></q></dt></tr></i><div id='v398W'><tfoot id='v398W'></tfoot><dl id='v398W'><fieldset id='v398W'></fieldset></dl></div>

    <small id='v398W'></small><noframes id='v398W'>

    <legend id='v398W'><style id='v398W'><dir id='v398W'><q id='v398W'></q></dir></style></legend>

      <tfoot id='v398W'></tfoot>

      PHP实现无限级分类实例代码

      时间:2023-11-30
      <i id='KhXln'><tr id='KhXln'><dt id='KhXln'><q id='KhXln'><span id='KhXln'><b id='KhXln'><form id='KhXln'><ins id='KhXln'></ins><ul id='KhXln'></ul><sub id='KhXln'></sub></form><legend id='KhXln'></legend><bdo id='KhXln'><pre id='KhXln'><center id='KhXln'></center></pre></bdo></b><th id='KhXln'></th></span></q></dt></tr></i><div id='KhXln'><tfoot id='KhXln'></tfoot><dl id='KhXln'><fieldset id='KhXln'></fieldset></dl></div>
      <legend id='KhXln'><style id='KhXln'><dir id='KhXln'><q id='KhXln'></q></dir></style></legend><tfoot id='KhXln'></tfoot>

        <bdo id='KhXln'></bdo><ul id='KhXln'></ul>

            <tbody id='KhXln'></tbody>

            <small id='KhXln'></small><noframes id='KhXln'>

              1. $array = array(
                array('id' => 1, 'pid' => 0, 'name' => '河北省'),
                array('id' => 2, 'pid' => 0, 'name' => '北京市'),
                array('id' => 3, 'pid' => 1, 'name' => '邯郸市'),
                array('id' => 4, 'pid' => 2, 'name' => '朝阳区'),
                array('id' => 5, 'pid' => 2, 'name' => '通州区'),
                array('id' => 6, 'pid' => 4, 'name' => '望京'),
                array('id' => 7, 'pid' => 4, 'name' => '酒仙桥'),
                array('id' => 8, 'pid' => 3, 'name' => '永年区'),
                array('id' => 9, 'pid' => 1, 'name' => '武安市'),
                );
                /**
                     * 递归实现无限极分类
                     * @param $array 分类数据
                     * @param $pid 父ID
                     * @param $level 分类级别
                     * @return $list 分好类的数组 直接遍历即可 $level可以用来遍历缩进
                     */
                 
                    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 />';
                    }

                输出结果:

                河北省

                --邯郸市

                ----永年区

                --武安市

                北京市

                --朝阳区

                ----望京

                ----酒仙桥

                --通州区

                 
                上一篇:layui实现php+ajax上传excel表格功能 下一篇:没有了

                相关文章

                  <bdo id='529Ab'></bdo><ul id='529Ab'></ul>
                <tfoot id='529Ab'></tfoot>
              2. <i id='529Ab'><tr id='529Ab'><dt id='529Ab'><q id='529Ab'><span id='529Ab'><b id='529Ab'><form id='529Ab'><ins id='529Ab'></ins><ul id='529Ab'></ul><sub id='529Ab'></sub></form><legend id='529Ab'></legend><bdo id='529Ab'><pre id='529Ab'><center id='529Ab'></center></pre></bdo></b><th id='529Ab'></th></span></q></dt></tr></i><div id='529Ab'><tfoot id='529Ab'></tfoot><dl id='529Ab'><fieldset id='529Ab'></fieldset></dl></div>

                  1. <small id='529Ab'></small><noframes id='529Ab'>

                  2. <legend id='529Ab'><style id='529Ab'><dir id='529Ab'><q id='529Ab'></q></dir></style></legend>