PHP 编程/while 循环
<?php
$c = 0;
while ($c < 5) {
echo $c++;
}
?>
<?php
$myName="Fred";
while ($myName!="Rumpel") {
if ($myName=="Fred") {
$myName="Leslie";
} else {
$myName="Rumpel";
}
}
echo "How did you know?\n";
?>
这是一个打印从0到4的数字的示例。$c 最初为 0。当遇到 while 循环时,表达式$c < 5被评估为真。如果为真,则执行花括号中的内容。echo 语句将打印0, 然后将 $c 加一。$c。然后程序将回到循环的顶部并再次检查表达式。由于它再次为真,它将返回 1 并将 $c 加一。它将一直这样做,直到$c等于5, 此时语句$c < 5为假。之后,它就完成了。
程序的第一行设置$myName为 "Fred"。之后,while 语句检查$myName是否等于"Rumpelstiltskin"。那个!=表示“不等于”,所以表达式为真,while 循环执行它的代码块。在代码块中,一个if语句(参见 前一章)检查它是否等于 Fred。由于它确实等于 Fred,然后它重新分配$myName使其等于"Leslie"。然后它跳过else, 因为if为真并已评估。然后它到达循环的末尾,所以它返回并检查$myName是否不等于"Rumpelstiltskin"。由于它仍然不等于,所以它为真,然后它再次进入循环。这一次,if 语句为假,所以执行 else 部分。这将$myName设置为 "Rumpelstiltskin"。我们再次到达循环的末尾,所以它返回并检查。由于$myName确实等于"Rumpelstiltskin", while 条件为假,它跳过循环并继续执行,它输出 "你怎么知道的?"
循环是另一种重要的基本编程技巧。循环允许程序重复执行相同的代码行,这对于程序中的许多事情都很重要。在 PHP 中,你经常使用它们在 HTML 中布局表格和其他类似的功能。
循环非常方便,但也非常危险!无限循环是指无法退出的循环,导致它们一直执行直到程序停止。这是因为无论循环中发生什么,条件都不会变为假,因此永远不会退出。例如,如果示例 1 从$c…
$c=2;
while ($c < 5) {
$c--;
echo $c;
}
$c 中减去 1,无论发生什么,$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";
?>