php递归处理多维数组

24 篇文章 1 订阅
$a =array (
    'menu' =>
        array (
            0 =>
                array (
                    'id' => 1,
                    'name' => '舆情概况',
                ),
            1 =>
                array (
                    'id' => 2,
                    'name' => '舆情动态',
                ),
            2 =>
                array (
                    'id' => 3,
                    'name' => '舆情分析',
                ),
            3 =>
                array (
                    'id' => 4,
                    'name' => '舆情预警',
                ),
            4 =>
                array (
                    'id' => 5,
                    'name' => '舆情报告',
                ),
            5 =>
                array (
                    'id' => 6,
                    'name' => '微博舆情',
                ),
            6 =>
                array (
                    'id' => 10,
                    'name' => '我的收藏',
                ),
            7 =>
                array (
                    'id' => 11,
                    'name' => '话题追踪',
                ),
        ),
    'config' =>
        array (
            0 =>
                array (
                    'id' => 1001,
                    'name' => '菜单设置',
                    'url' => 'api/menu/menuList',
                    '_child' =>
                        array (
                            0 =>
                                array (
                                    'id' => 1013,
                                    'name' => '菜单列表',
                                    'parent_id' => 1001,
                                    'url' => 'api/menu/menuList',
                                ),
                            1 =>
                                array (
                                    'id' => 1014,
                                    'name' => '添加/修改',
                                    'parent_id' => 1001,
                                    'url' => 'api/menu/menuSave',
                                ),
                            2 =>
                                array (
                                    'id' => 1031,
                                    'name' => '菜单删除',
                                    'parent_id' => 1001,
                                    'url' => 'api/menu/menuDel',
                                ),
                            3 =>
                                array (
                                    'id' => 1015,
                                    'name' => '模块管理',
                                    'parent_id' => 1001,
                                    'url' => 'api/model/menuList',
                                ),
                            4 =>
                                array (
                                    'id' => 1016,
                                    'name' => '模块添加/修改',
                                    'parent_id' => 1001,
                                    'url' => 'api/model/menuSave',
                                ),
                        ),
                ),
            1 =>
                array (
                    'id' => 1002,
                    'name' => '关键词设置',
                    'url' => 'api/keyword/keywordList',
                    '_child' =>
                        array (
                            0 =>
                                array (
                                    'id' => 1017,
                                    'name' => '关键词类别设置',
                                    'parent_id' => 1002,
                                    'url' => 'api/keyword/classifyList',
                                ),
                            1 =>
                                array (
                                    'id' => 1018,
                                    'name' => '主题词设置',
                                    'parent_id' => 1002,
                                    'url' => 'api/keyword/keywordList',
                                ),
                            2 =>
                                array (
                                    'id' => 1019,
                                    'name' => '标签设置',
                                    'parent_id' => 1002,
                                    'url' => 'api/keyword/tagList',
                                ),
                        ),
                ),
            2 =>
                array (
                    'id' => 1003,
                    'name' => '报告设置',
                    'url' => 'api/report/reportList',
                    '_child' =>
                        array (
                            0 =>
                                array (
                                    'id' => 1022,
                                    'name' => '添加报告',
                                    'parent_id' => 1003,
                                    'url' => 'api/report/reportSave',
                                ),
                            1 =>
                                array (
                                    'id' => 1023,
                                    'name' => '编辑报告',
                                    'parent_id' => 1003,
                                    'url' => 'api/report/reportSave',
                                ),
                            2 =>
                                array (
                                    'id' => 1032,
                                    'name' => '报告删除',
                                    'parent_id' => 1003,
                                    'url' => 'api/report/reportDel',
                                ),
                        ),
                ),
            3 =>
                array (
                    'id' => 1004,
                    'name' => '预警设置',
                    'url' => 'api/warn/warnList',
                    '_child' =>
                        array (
                            0 =>
                                array (
                                    'id' => 1024,
                                    'name' => '添加预警',
                                    'parent_id' => 1004,
                                    'url' => 'api/warn/warnSave',
                                ),
                            1 =>
                                array (
                                    'id' => 1025,
                                    'name' => '编辑预警',
                                    'parent_id' => 1004,
                                    'url' => 'api/warn/warnSave',
                                ),
                            2 =>
                                array (
                                    'id' => 1033,
                                    'name' => '预警删除',
                                    'parent_id' => 1004,
                                    'url' => 'api/warn/warnDel',
                                ),
                        ),
                ),
            4 =>
                array (
                    'id' => 1005,
                    'name' => '角色管理',
                    'url' => 'api/role/roleList',
                    '_child' =>
                        array (
                            0 =>
                                array (
                                    'id' => 1026,
                                    'name' => '添加/修改角色',
                                    'parent_id' => 1005,
                                    'url' => 'api/role/roleUpAdd',
                                ),
                        ),
                ),
            5 =>
                array (
                    'id' => 1033,
                    'name' => '站点设置',
                    'url' => 'api/site/siteList',
                ),
            6 =>
                array (
                    'id' => 1006,
                    'name' => '用户管理',
                    'url' => 'api/user/userList',
                    '_child' =>
                        array (
                            0 =>
                                array (
                                    'id' => 1028,
                                    'name' => '添加用户',
                                    'parent_id' => 1006,
                                    'url' => 'api/user/userUpAdd',
                                ),
                            1 =>
                                array (
                                    'id' => 1029,
                                    'name' => '编辑用户',
                                    'parent_id' => 1006,
                                    'url' => 'api/user/userUpAdd',
                                ),
                        ),
                ),
            7 =>
                array (
                    'id' => 1007,
                    'name' => '修改资料',
                    'url' => 'api/user/userModify',
                ),
            8 =>
                array (
                    'id' => 1008,
                    'name' => '操作日志',
                    'url' => 'api/log/logList',
                ),
            9 =>
                array (
                    'id' => 1009,
                    'name' => '任务中心',
                    'url' => 'api/schedule/scheduleList',
                ),
            10 =>
                array (
                    'id' => 1032,
                    'name' => '舆情待办',
                ),
            11 =>
                array (
                    'id' => 1030,
                    'name' => '回收站',
                ),
        ),
);



$b = array(
    0 => '1',
    1 => '2',
    2 => '3',
    3 => '4',
    4 => '5',
    5 => '6',
    6 => '1001',
    7 => '1013',
    8 => '1014',
    9 => '1002',
    10 => '1003'
);

echo "<pre>";
//print_r($a);
print_r($b);
$c = recursive_array($a['config'],$b);
//print_r($c);

$d = recursive_array($a['menu'],$b);
//print_r($d);


function recursive_array($config,$b){

   if( is_array($config) ){
      foreach($config as $key=>$val){

        
        if(is_array($val)){
           if(in_array($val['id'], $b)){
              $config[$key]['selected'] = 1;
           }else{
              $config[$key]['selected'] = 0;
           }


           if(isset($val['_child']) && is_array($val['_child'])){
              $config[$key]['_child'] = recursive_array($val['_child'],$b);
           }
           
            
        }



      }
   }
   return $config;


}

$new_a = [
  'menu'=>$d,
  'config'=>$c
];

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值