#php #loops #date
#php #циклы #Дата
Вопрос:
Это звучит как глупый вопрос, но я изо всех сил пытаюсь придумать, как лучше всего его решить.
У меня есть 2 даты, скажем, с 15-03-2012 по 19-03-2012. Мне нужно извлечь все комбинации, работающие со всех 4 дней вместе, до 4 отдельных дней, вывести следующим образом (изменение форматирования для простоты):
15, 16, 17, 18
15,16, 17
16, 17, 18
15, 16
16, 17
17, 18
15
16
17
18
Я ищу лучший метод циклирования, диапазон дат будет отличаться по длине, формат не имеет значения, но это должны быть даты php, из которых я буду извлекать точный требуемый формат. Я буду использовать каждый набор дат для выполнения кода на каждой итерации, поэтому должны быть даты / циклы.
Ответ №1:
Создайте два объекта Date с имеющимися у вас значениями, напишите цикл while, который выполняется до тех пор, пока начальная переменная (ваша начальная дата) не станет равной конечной переменной (вашей конечной дате), и все должно быть готово.
Ответ №2:
Общая идея:
$day = 24 * 60 * 60;
for($startDate = $dateA; $startDate <= $dateB; $startDate = day)
{
for($endDate = $startDate; $endDate <= $dateB; $endDate = day)
{
for($dateIndex = startDate; $dateIndex <= $endDate; $dateIndex = day)
{
$output = getDate($dateIndex);
echo($output['month'] . $output['day'] . ',');
}
echo '</br>';
}
}