Мне дается массив, содержащий периоды в течение года следующим образом.Рассчитать год из набора дат
$year = '2016';
$periods = [
[
'name' => "Name One",
'startDate' => '01/01/2016',
'endDate' => '03/31/2016'
],
[
'name' => "Name Two",
'startDate' => '04/01/2016',
'endDate' => '12/31/2016'
]
];
Число периодов может изменяться, следовательно, массив периоды может иметь любое число элементов (скажем 5 элементов, что означает 5 периодов для данного года). Теперь мне нужно убедиться, что периоды действительно составляют год, то есть два периода не могут пересекаться и периоды коллективно делают сумму до указанного года.
Я пробовал много разных способов, но не смог найти ни одного эффективного решения. Я использую Laravel 5, следовательно, Carbon package. Но я буду рад сделать это даже в Basic PHP. Поэтому все предложения приветствуются.
Когда вы говорите, что вам нужно «удостовериться», что они образуют год, вы имеете в виду «проверить, составляют ли они год» или «сделать их формой года, если они этого не сделают»? –
Я думаю, что начать с такого рода массива было бы полезно, в начале (по возрастанию). Затем вы можете сравнить, что следующая дата начала> предыдущая, и на один день больше, чем предыдущая дата окончания. –
@hairraisin "проверить, образуют ли они год" –