我已经设置为常量,开始年份和结束年份,
所以我已经建立了一个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)
任何想法都将受到高度赞赏.
您正在将值递增两次:
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)
通常使用 for 循环是执行此操作的方法,
for($year=START_YEAR;$year<=CURRENT_YEAR;$year++)
{
//User the $year here
}
Run Code Online (Sandbox Code Playgroud)
您的代码问题是您$yearBegin++在 while 循环内调用了两次,导致它增加了两次。
使用 for 循环比在表达式中为您完成递增要干净得多
| 归档时间: |
|
| 查看次数: |
3404 次 |
| 最近记录: |