Я пытаюсь сделать цикл, но я не могу - PullRequest
1 голос
/ 20 октября 2011

Я пытаюсь сделать циклы for, используя функцию даты, но не могу. В моем случае я пытаюсь перейти с 2001 по февраль 2009 года и хочу вставить дату, но не могу. Может кто-нибудь мне помочь? Вот мой код:

for($start_year; $start_year<= $end_year; $start_year++)
{
  for($start_month; $start_month<= $end_month; $start_month++)
  {
    $date_input = $start_year."-".$start_month."-27";
  }
}

1 Ответ

4 голосов
/ 20 октября 2011

Похоже на PHP.

for($start_year; $start_year<= $end_year; $start_year++)

Вы не указали начальное значение для $start_year, поэтому, если вы не определили эту переменную в другом месте, это синтаксическая ошибка.Кроме того, поскольку вы начинаете / заканчиваете в разные месяцы, вы не можете использовать цикл для этого, не перепрыгивая через обручи.Вам, вероятно, будет лучше с чем-то вроде этого:

$date = strtotime("2001-02-01 00:00:00");
$end = strtotime("2009-01-01 00:00:00");

do {
   echo date('Y-m', $date), "-27";
   $date = strtotime("+1 month", $date);
} while ($date <= $end);

Обратите внимание, что strtotime - это только один из способов сделать это.Вы можете использовать объект DateTime с 1-месячным DateInterval , но это только для PHP 5.3+.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...