If语句和While循环的区别

3

我阅读了PHP.com关于While loops的手册。

我不理解在PHP中使用While循环的目的。

对我来说,它看起来就像一个if语句。

if语句和while循环有什么区别?

while循环如何工作,它们做什么以及何时应该使用它们?

例如,这样做不行吗:

$i = 1;
while ($i <= 10) {
    echo $i++;
}

像这样完成吗?
$i = 1;
if ($i <= 10) {
    echo $i++;
}

10
为什么不试一试看呢? - John Conde
3
不要想太多。在现实世界中,“if”是一次性的决策,这同样适用于PHP。做出一次决定,继续前进。在现实世界中,“while”的意思是“直到某个条件得到满足,继续执行…”,这同样适用于PHP。 - Marc B
4个回答

16
一个 if 语句检查一个表达式是否为真或假,然后只有在它为真时才运行以下代码块。块内的代码仅会被运行一次...
if (x > y)
{
   // this will only happen once
}

一个while语句是一个循环。基本上,只要表达式为真,它就会继续执行以下代码块中的代码。
while (x > y)
{
  // this will keep happening until the condition is false.
}

何时使用while循环:

当您不确定需要循环多少次才能满足条件时,最好使用while循环 - 如果您知道要测试条件的确切次数(例如10次),则应改用for循环。


哦,我明白了... while循环基本上什么时候很重要?我的意思是我找不到任何有用的用途。 - Ben Beri
@Jony 当你不确定需要循环多少次时,最好使用while循环。如果你知道要测试条件的确切次数(例如10次),那么应该使用for循环。 - dsgriffin
1
当您想要持续执行某些操作直到满足某个条件时,例如从数据库查询中读取结果。 - thetaiko

7

当条件为真时,while循环将根据需要运行多次,即直到该条件变为假。

如果条件为真,则if语句将执行一次

在学习语言时理解这样的概念的好方法是尝试它们:

<?php
$i = 1;
while ($i <= 10) {
    echo $i++;
}

echo "\n";

$i = 1;
if ($i <= 10) {
    echo $i++;
}

这将导致以下结果:
12345678910
1

1
请在回答中包含相关的代码示例,而不是链接到外部内容。 - Servy

1

如果命令只在一个条件下运行一次,并且它只在一个语句中执行一次

而while循环主要用于无限次循环一个语句,同时可以在一个语句中执行多次


-2
这是一个例子:
假设你想要一个脚本,它可以循环遍历一个数组,并为数组的每个元素发出一声蜂鸣。
当数组为空时,WHILE循环不会产生任何蜂鸣声。
FOR循环将始终至少运行一次,因此空数组将生成一个蜂鸣声。

1
这并没有回答问题。FOR循环没有被提及。你能解释一下WHILE循环和IF语句的区别吗? - Bob Dalgleish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接