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!