PHP编程
while 循环
while 循环
代码示例
示例 1
<?php
$c = 0;
while ($c < 5) {
echo $c++;
}
?>
示例 2
<?php
$myName = "Fred";
while ($myName != "Rumpel") {
if ($myName == "Fred") {
$myName = "Leslie";
} else {
$myName = "Rumpel";
}
}
echo "How did you know?\n";
?>
分析
示例 1
这是一个打印从 0 到 4 的数字的示例。变量 $c 从 0 开始。当程序遇到 while 循环时,会首先评估表达式 $c < 5 的真假。如果为真,则会执行大括号内的代码。echo 语句将打印出 0,然后 $c 会加 1。程序会回到循环的顶部,再次检查表达式。由于它仍然为真,程序会返回 1 并加 1 到 $c。这个过程会一直重复,直到 $c 等于 5,导致表达式 $c < 5 为假,循环结束。
示例 2
程序的第一行将 $myName 设置为 "Fred"。然后,while 语句检查 $myName 是否等于 "Rumpelstiltskin"。!= 表示“不等于”,所以该表达式为真,while 循环会执行其代码块。在代码块中,有一个 if 语句(参见上一章),检查 $myName 是否等于 "Fred"。由于它是,$myName 会被重新赋值为 "Leslie"。然后跳过 else 部分,因为 if 为真并且已经被评估。接着程序到达循环的结尾,回到循环顶部,检查 $myName 是否等于 "Rumpelstiltskin"。由于它仍然不等于 "Rumpelstiltskin",条件仍然为真,程序再次进入循环。这一次,if 语句为假,因此执行 else 语句,$myName 被设置为 "Rumpelstiltskin"。再一次,程序到达循环的结尾,回到循环顶部,检查条件。由于 $myName 等于 "Rumpelstiltskin",while 条件为假,跳过循环并继续执行后续代码,输出 "How did you know?"。
新概念
循环
循环是另一个重要的编程技巧。循环允许程序重复执行相同的代码行,这在很多程序中都很重要。在 PHP 中,你通常会用循环来布局 HTML 表格或执行其他类似的功能。
无限循环
循环非常有用,但也可能非常危险!无限循环是指那些无法退出的循环,它们会一直执行,直到程序被强制停止。这通常发生在循环条件永远不会变为假,导致循环无法退出的情况。例如,如果示例 1 中 $c 每次减少 1…
$c = 2;
while ($c < 5) {
$c--;
echo $c;
}
此时 $c 将始终小于 5,无论发生什么,循环将永远继续下去。这会导致计算机资源的浪费(无尽的时间和内存消耗)。为了避免这种情况,可以使用 break; 语句来强制终止循环,无论条件是否为假。
结束示例
让我们将这两个示例结合起来。请在继续之前,花几分钟写出这个程序执行的步骤以及它的输出。
<?php
$c = 1;
$myName = "Fred";
while ($myName != "Rumplestilskin") {
if ($myName == "Fred") {
$myName = "Leslie";
} else {
$myName = "Marc";
}
$c++;
if ($c == 3) {
break;
}
};
echo "You lose and I get your baby!\n";
?>
输出结果
程序会打印:
You lose and I get your baby!