Итак, исходя из вашего примера, вы фактически выводите информацию за ноябрь 2017 года, которая начинается в среду.
Чтобы достичь того, что вы ищете, вам просто нужно выяснить, какой день неделизатем добавьте дополнительные «пустые» элементы в ваш массив $list
, если вам нужно заполнить месяц.
Чтобы узнать день недели, используйте:
... // Your existing code under Make List
$year = date('Y', strtotime('-1 year'));
$date = '01-' . $month . '-' . $year;
$dayofweek = date('w', strtotime($date));
Сейчас$dayofweek
будет содержать числовой номер недели, где 0 - воскресенье, 1 - понедельник и т. Д.
Далее просто добавьте пустые элементы в массив списка, чтобы добавить количество дней, которое должно бытьempty:
if ($dayofweek == 0) $dayofweek = 7;
for (; $dayofweek > 1; $dayofweek--)
$list[] = '';
Обратите внимание, что там, где начальный день - воскресенье, я изменяю его на 7, чтобы заполнить 6 полей.
Наконец, когда вы выводите элементы списка, просто добавьтепустой день <li>
для каждого дополненного дня:
... // Your existing code
foreach($list as $day){
if ($day == '')
echo '<li>Empty day</li>';
else if($day < date('d')){
... // Your existing code continues