如何使while循环从1开始计数

时间:2019-01-19 18:38:38

标签: php loops

我有一个while循环,看起来像这样:

$condition2 = true;
$page = 1;

while($condition2){

    $page++;
    echo $page;



    if($page == 3){
        $condition2 = false;
    }
}

如您所见,我在此处回显页面。但是它从2开始计数,然后转到3,依此类推。我希望它从1开始计数,因此输出将是1 -2 -3。

我尝试在循环0之外设置默认值。这将导致无限循环。

5 个答案:

答案 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++;
}