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!

更多信息

最后修改: 2025年01月9日 星期四 22:39