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

前端 未结 5 1351
长发绾君心
长发绾君心 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:37

    If you dont want to use recursion:

    foreach ($category as $name => $range) {
        $line[$range['left']] = $name;
        $line[$range['right']] = $name;
    }
    
    ksort($line);
    $count = 0;
    
    foreach($line as $name) {
        if ( ! isset($open[$name])) {
            $open[$name] = true;
            $result[$name] = true;
            $count++;
        } else {
            unset($open[$name]);
            if ($count > 0) {
                $count = 0;
                $tree[] = array_keys($result);
                $result = $open;
            } else {
                $result = array();
            }
        }
    }
    

提交回复
热议问题