Я пытаюсь построить цикл, который повторяется каждый месяц года до текущего месяца. Мой цикл foreach
просто остается на старте и не проходит через остальную часть диапазона. Вот мой код:
$startMonth = '01';
$endMonth = date('m');
foreach (range($startMonth, $endMonth) as $month) {
$dataValue = date('n', $month);
echo '<td class="month" data-value="';
echo $dataValue;
echo '" data-id="' . $incrementYear . '"><a href="/Archive/view/';
echo $incrementYear;
echo '/';
echo date('m', $month);
echo '">';
echo date('F', $month);
echo '</a></td>';
}
Вот вывод:
January January January January January January
Каждый месяц имеет правильную ссылку на то, что должен иметь январь, но по какой-то причине диапазон никогда не оставляет «01», то есть $startMonth
, и я не уверен, почему. Я думал, что это как-то связано с целым числом против строки, но удалив '
из $startMonth = '01';
, чтобы сделать его целым числом, но это тоже не сработало.
Насколько я понимаю, я правильно использую диапазон.
Что мне здесь не хватает?
EDIT
$ dataValue можно закомментировать, и я все равно получу January
6 раз, просто ссылка будет иметь значение данных, отличное от того, что я хочу. Эта переменная не влияет на сам месяц.
Если я изменю нижнюю строку кода с echo date('F', $month);
на echo $month;
, я получу:
1 2 3 4 5 6