Заполните пустые дни в календаре php, начиная с понедельника

В настоящее время у меня есть календарь, встроенный в php, но я изо всех сил стараюсь заполнить пустые дни до первого числа месяца, используя понедельник в качестве начального дня.

Проблема в том, что когда я получаю месяц, начинающийся с воскресенья, неделя начинается с воскресенья, а не понедельника, как хотелось бы, я исправил это, выполнив инструкцию if и вставив вручную 6 пустых дней, если месяц начинается с воскресенья, но мне было интересно, как мог бы сделать это без этой ручной проверки воскресенья.

$ DayOfWeek получается из функции php, чтобы получить день недели, поэтому с воскресенья по 0 до субботы, равной 6.

Любой способ сделать это, или я должен буду согласиться с моим "уродливым" ручным воскресным исправлением.

По сути, я хочу сосчитать пустые дни до того, как начнется месяц.

// Fill Blank Days
for ($blankcounter = 1; $blankcounter < $dayOfWeek; $blankcounter++) {
        $calendar .= "<div class='single_day disable_day'><label>&nbsp</label></div><!--.single_day-->";
}

1 ответ

Ну, вы могли бы сохранить цикл таким же, но скорректируйте переменную раньше, чем цикл:

$dayOfWeek = $dayOfWeek ? $dayOfWeek : 7;

Или же:

if ($dayOfWeek==0) $dayOfWeek = 7;

Я думаю, вы могли подумать об этих вариантах раньше. Пока не могу найти ничего лучшего.

Другие вопросы по тегам