php三维数组改造大神进
阿神
阿神 2017-05-16 13:16:28
[PHP讨论组]
array(2) {
  [0]=>
  array(15) {
    ["t_id"]=>
    string(2) "87"
    ["b_id"]=>
    string(2) "21"
    ["year"]=>
    string(4) "2018"
    ["01"]=>
    string(6) ",09,16"
    ["02"]=>
    NULL
    ["03"]=>
    NULL
    ["04"]=>
    NULL
    ["05"]=>
    NULL
    ["06"]=>
    NULL
    ["07"]=>
    NULL
    ["08"]=>
    NULL
    ["09"]=>
    NULL
   ["10"]=>
    string(6) ",18,18"
    ["11"]=>
    string(3) ",09"
    ["12"]=>
    NULL
  }
  [1]=>
  array(15) {
    ["t_id"]=>
    string(2) "86"
    ["b_id"]=>
    string(2) "21"
    ["year"]=>
    string(4) "2017"
    ["01"]=>
    NULL
    ["02"]=>
    NULL
    ["03"]=>
    NULL
    ["04"]=>
    string(0) ""
    ["05"]=>
    string(15) ",23,23,24,24,23"
    ["06"]=>
    string(9) ",20,12,15"
    ["07"]=>
    string(6) ",19,10"
    ["08"]=>
    string(0) ""
    ["09"]=>
    string(0) ""
    ["10"]=>
    string(6) ",18,18"
    ["11"]=>
    string(3) ",09"
    ["12"]=>
    NULL
  }
}
上面的数组是从数据库读出来的上面的year是年份 01 到 12是一月到十二月 然后,16,17,25 是日期

怎么弄成 下面的那种格式的尼!大神帮帮忙

array(
      '2017' => array(
      '04'=>array('15','20'),
      '05'=>array('05','18'),
      '11'=>array('11','19'),
     ),
    '2018' => array(
      '03'=>array('15','20'),
      '06'=>array('05','18'),
      '11'=>array('11','19'),
     ),
2017表示年份 04表示月份 15,20表示日期15日 20日
阿神
阿神

闭关修行中......

全部回复(3)
过去多啦不再A梦
$monthRs = [];
$monthCfg = ["01","02","03","04","05","06","07","08","09","10","11","12"];
foreach($arr as $key => $val){
    
    foreach($val as $k=>$v){
        $year = $v['year'];
        if(in_array($k,$monthCfg)){
            $monthRs[$k] = explode(',',$v);
        }
        
    }
    
    $temp = [$year=>$monthRs];
    $monthRs = array_merge($monthRs,$temp);
    
}
迷茫
假设大数组为$a 那么改造方法如下
foreach($a as $k=>$v){
            $year = $v['year'];
            unset($v['t_id']);
               unset($v['b_id']);
               unset($v['year']);
            foreach ($v as $key => $value) {
                $value=  explode(",", ltrim($value,','));
                $time[$year][$key] = $value;
            }
        }
習慣沉默

遍历一遍就能解决。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号