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上加 1。程序然后会回到循环的顶部并再次检查表达式。因为它再次为真,它会返回 1 并将 $c 加 1。它会一直这样做,直到$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,因此循环会永远持续下去。这对我们这些没有无限时间(或计算机内存)的人来说会造成问题!所以在这种情况下,让我们学习一个方便的 bugger。
如果你在循环中添加 '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";
?>