文章最后更新时间:2022年01月27日
将数据进行按年月分组的需求其实挺常见的, 例如支付宝 / 微信的账单就有按年月组合php账单或者其他类型的数据结构按照年月分组,代码如下:
/** * 按年月分组数据(例如账单) * @param $arr_data 分组的数组 * @param string $time_field 时间分组字段 * @return array */ function monthlyGrouping($arr_data,$time_field = 'created_at') { if (empty($time_field)) { return $arr_data; } //按月份分组 $arr_month = []; $arr_year_month = []; //全部年月数据 $arr_return_data = []; foreach ($arr_data as $data) { //按月份分组 $year_month = mb_substr($data[$time_field], 0, 7); $arr_month[$year_month]['month_data'][] = $data; if (!isset($arr_year_month[$year_month])) { $arr_year_month[$year_month] = $year_month; } if (!isset($arr_month[$year_month]['obj_month_info'])) { $arr_month[$year_month]['month_info'] = [ 'year' => mb_substr($year_month, 0, 4), 'month' => mb_substr($year_month, 5, 2), ]; } } foreach ($arr_month as $key => $month) { $arr_return_data[] = $arr_month[$key] ?? []; } return $arr_return_data; }
文章版权声明:除非注明,否则均为先生博客原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...