【发布时间】:2016-12-14 23:03:44
【问题描述】:
取多维数组如
array(
array('begin' => '2006-01-01', 'finish' => '2006-02-28'),
array('begin' => '2006-03-01', 'finish' => '2006-06-30'),
array('begin' => '2006-08-01', 'finish' => '2007-12-30'),
array('begin' => '2007-01-01', 'finish' => '2016-12-30'),
);
我正在尝试找出处理具有不同程度范围和重叠的第 N 个数组的最佳方法,以查看在 N 年的过程中是否存在差距。我目前的要求是一个月。但我目前根本无法解决这个问题。无需经历一系列嵌套的 foreaches,这些嵌套的 foreaches 最终将我画在一个角落里,并且在更大的数据集上处理成本很高。
【问题讨论】:
-
N 个元素将按照您的示例中的顺序排列?
-
订单号不能 100% 保证。如果需要,我可能需要采取额外的步骤以某种方式对其进行排序
-
您希望如何在示例中定义/返回“间隙”?只是“有一个差距是/否”或“有 X 个差距”或“2006-06-30 和 2006-08-01 之间有一个差距”?
-
理想情况下知道差距是什么,这样我就可以根据用户体验需求展示它们,但在这一点上说是/否是我可以处理的事情。我一直在努力思考这个问题,但我要么想多了,要么它会比它应该的要贵得多,要么它不会给出结果我想要整体