语法
do...while循环的语法如下:
代码语言:javascript复制do {
// 循环体
} while (条件表达式);
先执行一次循环体,然后检查条件表达式的值。如果条件表达式的值为true,则继续执行循环体,否则退出循环。和while循环一样,条件表达式可以是任何有效的表达式,通常使用关系运算符(例如<、>、==、!=等)来比较变量的值。
示例
下面是一个示例,使用do...while循环来输出从1到10的所有数字:
代码语言:javascript复制<?php
$i = 1;
do {
echo $i . '<br>';
$i ;
} while ($i <= 10);
?>
在上面的示例中,我们定义了一个变量$i
,并使用do...while循环输出从1到10的所有数字。在循环体内,我们首先打印$i
的值,然后将$i
的值加1。然后,我们使用条件表达式$i <= 10
来检查$i
是否小于等于10。如果条件为真,则继续执行循环体,否则退出循环。
请注意,即使$i的值为11,do...while循环也至少会执行一次循环体,因此上面的示例将输出从1到10的所有数字。
break和continue语句
和while循环一样,您也可以在do...while循环中使用break和continue语句。下面是一个示例,使用do...while循环和break语句来查找第一个质数:
代码语言:javascript复制<?php
$num = 10;
do {
$num ;
for ($i = 2; $i <= sqrt($num); $i ) {
if ($num % $i == 0) {
continue 2;
}
}
break;
} while (true);
echo '第一个质数是' . $num;
?>
在上面的示例中,我们使用do...while循环和break语句查找第一个质数。我们从数字10开始,然后使用for循环遍历从2到当前数字平方根之间的所有数字。如果当前数字可以被其中任何一个数字整除,则使用continue语句跳过当前循环,直接进行下一次循环。如果当前数字不能被其中任何一个数字整除,则使用break语句退出循环,并输出找到的第一个质数。
请注意,在continue语句中,我们使用数字2作为参数,表示跳过当前循环和外部for循环,以便在下一个数字上重新开始循环。如果我们使用数字1作为参数,则只会跳过当前内部循环,继续执行下一个数字的循环。