に重なる場合、私は、配列のいくつかの要素をマージする: - 日付が重なる場合、素子マージたとえばマージ要素日付
を:
配列:
ID:1 START_DATE。 2016年5月5日 END_DATE:2016年10月5日 量:5
ID:2 START_DATE:2016年12月5日 END_DATE:2016年12月5日 量:20
ID:3 START_DATE:2016年9月5日 END_DATE:15/05/2016 量:50
番号:4 START_DATE:05/05/2016 END_DATE:2016年10月5日 量:100
番号:5 START_DATE:2016年1月8日 END_DATE:2016年1月8日 量:10
第1解析:
ID:1 START_DATE:2016年5月5日 END_DATE:15/05/2016 量:155
D:2 START_DATE:2016年12月5日 END_DATE。 2016年12月5日 量:20
番号:5 START_DATE:2016年1月8日 END_DATE:2016年1月8日 量:10
2解析:
ID:1 START_DATE:2016年5月5日 END_DATE:15/05/2016 量:175
番号:5 START_DATE:2016年1月8日 END_DATE。 01/08/2016 数量:10
私は明らかです。 実際にこれを行うには私はwhileループと2 foreachが必要ですが、それは非常に高価です。 PHPでこれを行うには、最善の方法は何ですか?
おかげ
こんにちは、exemple idの無it'snt作品、1 => START_DATE:2016年5月5日終了日2015年5月5日 ID 2 => START_DATE:15/05/2016終了日25/05/2015 id3 =>開始日:08/05/2016終了日08/05/2015 日付が重複しないため、マージできません。 – Olaf
ご迷惑をおかけして申し訳ございません。開始日と終了日の差が最も大きい日付を選択して開始し、終了日がその間隔内にあるすべての日付とマージすることができます。同じ手順を繰り返しますが、前の日付は繰り返しません –