无限分类引用写法

首先我们会获取一个数组

$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] => 蚌埠
                                        )

                                )

                        )

                )

        )

)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值