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]['lst_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]['obj_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;
}
最好查询数据先排序
"obj_month_info": {
"year": "2022年",
"month": "12月"
}