php - PHP:与其日期对应的组数组
问题描述
我有一个列出日期时间的数组。如何对具有相同日期的数组进行分组。
$array = [
"2019-07-17 10:02:00",
"2019-07-17 12:00:00",
"2019-07-18 08:00:00",
"2019-07-19 01:00:00",
"2019-07-19 02:00:00"
];
预期结果:
$result = [
0 => [
"2019-07-17 10:02:00",
"2019-07-17 12:00:00"
],
1 => [
"2019-07-18 08:00:00"
],
2 => [
"2019-07-19 01:00:00",
"2019-07-19 02:00:00"
]
];
解决方案
尝试这个:
$grouped = [];
foreach ($array as $dateString) {
$dateObject = new \DateTime($dateString);
$grouped[$dateObject->format('Y-m-d')][] = $dateString;
}
$grouped = array_values($grouped);
var_dump($grouped);
例子。
推荐阅读
- reactjs - 当参数随旧状态更改时反应更新组件
- reactjs - 使用 AWS amplify DataStore 和 GraphQL 创建突变时出错:“变量‘输入’已强制非空类型‘ID!’的空值!”
- amazon-s3 - AWS Glue - getSink() 在glue_context.purge_s3_path 之后立即抛出“没有这样的文件或目录”
- c# - 在不同的 using-statment 中使用相同的一次性对象两次
- java - Android Room:使用 ViewModel、Repository、Database 插入多对多关系实体
- python - 错误说我有 NaN、无穷大或对于 dtype('float64') 来说太大的值
- python - 如何将矩阵转换为邻接矩阵?
- pyspark - 检查 groupBy 的结果,然后是 spark 中的 orderBy
- android - Android仪表视图
- swift - type() 不能符合 View;只有结构/枚举/类类型可以符合协议