我正在尝试找到将日期范围合并为一个数据库记录(数组元素)的最佳方法。
这是我的数据:
"在我们将它们组合之后,数组(或数据库)应该是这样的:"
有没有一种算法可以遍历所有元素/范围并将它们组合起来?哪种方法更好/更容易 - 通过数据库(MYSQL)还是编码(PHP)?
非常感谢任何建议。
谢谢!
更新:对不起,我没有提供足够的信息:我们应该合并任何连续且重叠的日期范围。
这是我的数据:
Array
(
[0] => Array
(
[id] => 18298
[start_date] => 2011-07-09
[end_date] => 2011-10-01
)
[1] => Array
(
[id] => 18297
[start_date] => 2011-06-01
[end_date] => 2011-06-30
)
[2] => Array
(
[id] => 17113
[start_date] => 2011-03-31
[end_date] => 2011-05-31
)
[3] => Array
(
[id] => 20555
[start_date] => 2011-01-03
[end_date] => 2011-03-31
)
)
"在我们将它们组合之后,数组(或数据库)应该是这样的:"
Array
(
[0] => Array
(
[merged_ids] => 18298
[start_date] => 2011-07-09
[end_date] => 2011-10-01
)
[1] => Array
(
[merged_ids] => 18297, 17113, 20555
[start_date] => 2011-01-03
[end_date] => 2011-06-30
)
)
有没有一种算法可以遍历所有元素/范围并将它们组合起来?哪种方法更好/更容易 - 通过数据库(MYSQL)还是编码(PHP)?
非常感谢任何建议。
谢谢!
更新:对不起,我没有提供足够的信息:我们应该合并任何连续且重叠的日期范围。
20555
和17113
是否重叠?此外,merged_ids
属性的元素是否有任何排序方式? - Argote