php увеличивает значение - PullRequest
       6

php увеличивает значение

1 голос
/ 05 декабря 2010

Я установил константы, начальный год и год окончания,
, поэтому я построил цикл while при условии, что у

if the start year is < than the current year increment until true.

проблема в том, что вместо этого происходитпримерно так:

1999,2000,2001,2002,2003,2004

это выглядит так:

1999,2001,2003,2005,2007,2009

Вот мой код:

function yearCount()
{
  $yearBegin = START_YEAR;
  $yearCurrent = CURRENT_YEAR;
  while($yearBegin < $yearCurrent){
    echo "<option value=\"".$yearBegin++."\">".$yearBegin++."</option>";
  }
}

любые идеи будут высоко оценены.

Ответы [ 6 ]

5 голосов
/ 05 декабря 2010

Вы увеличиваете значение дважды:

echo "<option value=\"".$yearBegin++."\">".$yearBegin++."</option>";

Каждый $yearBegin++ увеличивает его на единицу.

Вместо этого используйте цикл for:

for ($yearBegin = START_YEAR; $yearBegin < CURRENT_YEAR; $yearBegin++)
{
  echo "<option value=\"".$yearBegin."\">".$yearBegin."</option>";
}
4 голосов
/ 05 декабря 2010

Обычно для этого используется цикл for,

for($year=START_YEAR;$year<=CURRENT_YEAR;$year++)
{
    //User the $year here
}

Ваша проблема с кодом заключается в том, что ваш вызов $yearBegin++ 2 раза внутри цикла while, в результате чего он увеличивается в два раза.

использование цикла for намного чище, тогда как увеличение выполняется в выражении для вас

3 голосов
/ 05 декабря 2010
function yearCount()
{
  $yearBegin = START_YEAR;
  $yearCurrent = CURRENT_YEAR;
  while($yearBegin < $yearCurrent){
    $this_year = $yearBegin++;
    echo "<option value=\"".$this_year."\">".$this_year."</option>";
  }
}
1 голос
/ 05 декабря 2010

использовать только один раз ++, приращение

echo "<option value=\"".$yearBegin."\">".$yearBegin++."</option>";
0 голосов
/ 05 декабря 2010

Вы увеличиваете его дважды, один раз устанавливая его как значение, и второй раз отображая его в теге параметра

0 голосов
/ 05 декабря 2010

Вы увеличиваете $ yearBegin дважды, один раз в части значения, один раз в части отображения ...

Вам нужно изменить его, чтобы оно увеличивалось только один раз

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