无限分类引用写法

首先我们会获取一个数组

$list = array(
        array('id'=>1, 'fid'=>0, 'title' => '中国'), 
        array('id'=>2, 'fid'=>1, 'title' => '江苏'),
        array('id'=>3, 'fid'=>1, 'title' => '安徽'),
        array('id'=>4, 'fid'=>8, 'title' => '江阴'),
        array('id'=>5, 'fid'=>3, 'title' => '芜湖'),
        array('id'=>6, 'fid'=>3, 'title' => '合肥'),
        array('id'=>7, 'fid'=>3, 'title' => '蚌埠'),
        array('id'=>8, 'fid'=>8, 'title' => '无锡')
    );
foreach ($list as $key=> $item){
      $items[$item['id']] = $item;#构造数据使获得的数组的key等于ID
    }
    
foreach ($items as $key=>$item){
        if (isset($items[$item['fid']])){
           $items[$item['fid']]['son'][] = &$items[$key];
        }
        else{
          $tree[] = &$items[$key];
        }
    }
    echo "<pre>";
    print_r($tree);

我们打印出来色数据就如下:

Array
(
    [0] => Array
        (
            [id] => 1
            [fid] => 0
            [title] => 中国
            [son] => Array
                (
                    [0] => Array
                        (
                            [id] => 2
                            [fid] => 1
                            [title] => 江苏
                        )

                    [1] => Array
                        (
                            [id] => 3
                            [fid] => 1
                            [title] => 安徽
                            [son] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 5
                                            [fid] => 3
                                            [title] => 芜湖
                                        )

                                    [1] => Array
                                        (
                                            [id] => 6
                                            [fid] => 3
                                            [title] => 合肥
                                        )

                                    [2] => Array
                                        (
                                            [id] => 7
                                            [fid] => 3
                                            [title] => 蚌埠
                                        )

                                )

                        )

                )

        )

)

猜你喜欢

转载自blog.csdn.net/toume/article/details/84291347