php中while和do…while有何不同

do…while循环体至少执行一次,while可能一次都不执行;前者先执行后判断,后者先判断后执行;do…while结尾必须加分号,while不用。

php中while和do...while有何不同

核心就一点:while 是“先判断再执行”,do…while 是“先执行再判断”。这意味着 do…while 的循环体至少会跑一次,而 while 可能一次都不跑。

执行顺序不同

这是最根本的区别

  • while:每次进入循环前,先检查条件是否为真;条件为假,直接跳过整个循环体
  • do…while:不管条件真假,先完整执行一遍循环体,再检查条件;条件为假时,只执行一次就退出

典型场景对比

看两个小例子就清楚了:

while 示例:

立即学习PHP免费学习笔记(深入)”;


Picit AI

Picit AI

免费AI图片编辑器、滤镜与设计工具

Picit AI
172


查看详情
Picit AI


php
$i = 10;
while ($i
  echo “当前值: $i
“;
  $i++;
}
// 输出:什么也不显示(因为 $i
?>

do…while 示例:


$i = 10;
do {
  echo “当前值: $i
“;
  $i++;
} while ($i
// 输出:当前值: 10(只执行一次,之后检查条件发现不成立,退出)
?>

什么时候该用哪个?

选法很简单:

  • 用 while:当你不确定条件是否满足,想安全跳过——比如读取用户输入前先检查是否为空
  • 用 do…while:当你必须至少做一次操作——比如菜单交互、密码重试、初始化后校验等

写法细节注意

do…while 的分号不能少:

  • while 后面是 while (条件),没分号
  • do…while 结尾必须带分号:} while (条件);,漏了会报错
  • 循环变量更新的位置不影响“至少执行一次”的特性,但影响后续是否继续循环

基本上就这些。不复杂但容易忽略。

以上就是php中while和do…while有何不同的详细内容,更多请关注php中文网其它相关文章!

相关标签:

https://www.php.cn/faq/1829654.html

发表回复

Your email address will not be published. Required fields are marked *