跳转到内容

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";
?>

这是一个打印数字的示例,从04. $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";
?>

更多信息

[编辑 | 编辑源代码]


华夏公益教科书