我有一个while循环,看起来像这样:
$condition2 = true;
$page = 1;
while($condition2){
$page++;
echo $page;
if($page == 3){
$condition2 = false;
}
}
如您所见,我在此处回显页面。但是它从2开始计数,然后转到3,依此类推。我希望它从1开始计数,因此输出将是1 -2 -3。
我尝试在循环0之外设置默认值。这将导致无限循环。
答案 0 :(得分:4)
合并回声并一起增加:
echo $page++;
您还必须更改退出条件:
$page > 3
整个代码应该是
$condition2 = true;
$page = 1;
while($condition2){
echo $page++;
if($page > 3){
$condition2 = false;
}
}
您可以通过直接分配$ condition2来摆脱if
:
$condition2 = true;
$page = 1;
while($condition2){
echo $page++;
$condition2 = ($page > 3);
}
您可以通过使循环依赖于$ page来进一步缩短它,如下所示:
$page = 1;
while($page <= 3){
echo $page++;
}
但是,如果除了在循环中回显它之外,还想将$ page用于其他用途,则必须对其进行一些修改,因此在尝试使用它时就不必对其进行修改:
$page = 0;
while($page++ < 3) {
echo $page;
//use $page for something
};
答案 1 :(得分:1)
您过早地增加了页面变量。在循环末尾添加页面++
答案 2 :(得分:1)
通过以下方法将$page
设置为零:
$page = 1;
收件人:
$page = 0;
或在变量加1之前回显该变量:
$condition2 = true;
$page = 1;
while($condition2){
echo $page;
$page++
if($page == 3){
$condition2 = false;
}
}
答案 3 :(得分:1)
如果在末尾增加计数器怎么办?
$condition2 = true;
$page = 1;
while($condition2){
echo $page;
if($page == 3){
$condition2 = false;
}
$page++;
}
答案 4 :(得分:0)
您也可以这样
$condition2 = true;
$page = 1;
while($condition2){
if($page == 3){
$condition2 = false;
}
echo $page;
$page++;
}