How do I format Nested Set Model data into an array?

前端 未结 5 1361
长发绾君心
长发绾君心 2020-12-09 14:18

Let\'s dig in the main problem right away, I have the input like this

$category = array(
  \'A\' => array(\'left\' => 1, \'right\' => 8),
  \'B\' =&         


        
5条回答
  •  不思量自难忘°
    2020-12-09 14:35

    I little modified Stiven's code.

    public function createTree($category, $left = 0, $right = null) {
        $tree = array();
        foreach ($category as $cat => $range) {
            if ($range['clf'] == $left + 1 && (is_null($right) || $range['crt'] < $right)) {
                $tree[$cat]= array();
                $tree[$cat]['title']=$range['title'];
                if($range['crt']-$range['clf']>1){
                    $tree[$cat]['sub'] = $this->createTree($category, $range['clf'], $range['crt']);
                }
                $left = $range['crt'];
            }
        }
        return $tree;
    }
    

提交回复
热议问题