技术开发 频道

PHP开发经典教程(Part 3):循环

先循环,再判断条件 

    while()循环在指定条件为真时而执行一组语句。但如果在循环本身的第一次循环的时候条件为假,那又会如何呢?在以前的例子中,若你在表单中输入0值,那么while()循环连一次也不会执行。自己试一下,你就会明白了。 

    若你需要执行一组语句“至少”一次,那么PHP提供do-while()循环可以完成这种功能。其看起来像如下所示一样:

do { do this! } while (condition is true)


    让我们用一个快捷的例子来更好的理解在while()与do-while()之间的差别:

<?php $x = 100; // while loop while ($x == 700) { echo "Running..."; break; } ?>
    在该实例中,不论你运行该PHP脚本多少次,你都根本不会得到输出,因为$x的值不等于700。若你运行下列版本的脚本:
<?php 

$x = 100;
// do-while loop
do {
echo "Running...";
break;
} while ($x == 700);

?>

    你将看到一行输出,因为do()块内的代码将运行一次。 

    现在让我们来修订之前的PHP脚本以便于其至少运行一次,而不管什么值输入表单中:

<html> <head></head> <body> <?php // set variables from form input $upperLimit = $_POST['limit']; $lowerLimit = 1; // keep printing squares until lower limit = upper limit do { echo ($lowerLimit * $lowerLimit).'&nbsp;'; $lowerLimit++; } while ($lowerLimit <= $upperLimit); // print end marker echo ' END'; ?> </body> </html>

    因此,do-while()循环的结构是这样的,首先执行循环内的语句,且然后检查所测试的条件。此意味着大括号内的语句将至少执行一次。 

    阅读更多关于while()及do-while()循环的内容,请参看http://www.php.net/manual/en/control-structures.while.php与http://www.php.net/manual/en/control-structures.do.while.php。

0
相关文章