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, 然后将 1 加到$c上。然后程序将返回到循环顶部并再次检查表达式。由于它再次为真,它将返回 1 并将 1 加到 $c 上。它将一直这样做,直到$c等于5,此时语句$c < 5将为假。之后,它就结束了。
程序的第一行将$myName设置为 "Fred"。之后,while 语句检查$myName是否等于"Rumpelstiltskin"。在!=中,"不等于" 的意思,所以表达式为真,while 循环执行其代码块。在代码块中,一个if语句(见 上一章)检查它是否等于 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";
?>