如果日期重叠,则合并元素


Merge element if dates overlap

我想合并数组的一些元素:-如果日期重叠,则合并元素:

例如:

阵列:

id:1开始日期:2016年5月5日结束日期:2016年5月10日数量:5

id:2开始日期:2016年5月12日结束日期:2016年5月12日数量:20

id:3开始日期:2016年5月9日结束日期:2016年5月15日数量:50

id:4开始日期:2016年5月5日结束日期:2016年5月10日数量:100

id:5开始日期:2016年8月1日结束日期:2016年8月1日数量:10

第一次解析:

id:1开始日期:2016年5月5日结束日期:2016年5月15日数量:155

d:2开始日期:2016年5月12日结束日期:2016年5月12日数量:20

id:5开始日期:2016年8月1日结束日期:2016年8月1日数量:10

第二次解析:

id:1开始日期:2016年5月5日结束日期:2016年5月15日数量:175

id:5开始日期:2016年8月1日结束日期:2016年8月1日数量:10

我希望我清楚。事实上,为了制作这个,我需要一个while循环和两个foreach,但它太贵了。在php中最好的方法是什么?

感谢

您可以在日期中取每个月中最小的一天和最高的一天,然后必须合并所有介于最小和最高之间的日期。您可以使用一个循环