php增加一个值

Ada*_*ski 1 php while-loop

我已经设置为常量,开始年份和结束年份,
所以我已经建立了一个while循环的条件

if the start year is < than the current year increment until true.
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,而不是像这样:

1999,2000,2001,2002,2003,2004
Run Code Online (Sandbox Code Playgroud)

它就像:

1999,2001,2003,2005,2007,2009
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

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

任何想法都将受到高度赞赏.

Fem*_*ref 5

您正在将值递增两次:

echo "<option value=\"".$yearBegin++."\">".$yearBegin++."</option>";
Run Code Online (Sandbox Code Playgroud)

每个$yearBegin++增加一个.

改为使用for循环:

for ($yearBegin = START_YEAR; $yearBegin < CURRENT_YEAR; $yearBegin++)
{
  echo "<option value=\"".$yearBegin."\">".$yearBegin."</option>";
}
Run Code Online (Sandbox Code Playgroud)


Rob*_*itt 5

通常使用 for 循环是执行此操作的方法,

for($year=START_YEAR;$year<=CURRENT_YEAR;$year++)
{
    //User the $year here
}
Run Code Online (Sandbox Code Playgroud)

您的代码问题是您$yearBegin++在 while 循环内调用了两次,导致它增加了两次。

使用 for 循环比在表达式中为您完成递增要干净得多