Menu
CoddyTech

while 循环

本课属于 Coddy PHP 学习旅程的“基础知识”单元。第 48 课,共 71 课。

当你知道确切的迭代次数时,for 循环效果很好;而当你想一直循环,直到条件不成立时,while 循环就很合适。

while 循环会在每次迭代前检查条件。如果条件为真,就会运行其中的代码。循环会一直继续,直到条件变为假。

<?php
$count = 1;

while ($count <= 3) {
    echo "Count: $count\n";
    $count++;
}
?>

输出结果:

Count: 1
Count: 2
Count: 3

循环首先检查 $count <= 3。由于条件为真,代码会运行并递增 $count。当 $count 达到 4 时,条件不成立,循环停止。

重要:始终确保循环中的某些内容最终会使条件变为 false。否则,你会创建一个永远不会停止运行的无限循环。

<?php
$total = 0;
$num = 1;

while ($total < 10) {
    $total += $num;
    $num++;
}

echo $total;
?>

这会不断累加数字,直到总和达到或超过 10,然后输出最终值。

challenge icon

挑战

简单

从输入中读取一个表示目标和的整数。

使用 while 循环,从 1 开始依次累加数字(1、2、3、4、……),直到总和达到或超过目标和。

第一行输出最终总和,第二行输出最后一个累加的数字。

示例 1:

如果输入是 10,输出应为:

10
4

(1 + 2 + 3 + 4 = 10,达到目标)

示例 2:

如果输入是 15,输出应为:

15
5

(1 + 2 + 3 + 4 + 5 = 15)

示例 3:

如果输入是 7,输出应为:

10
4

(1 + 2 + 3 + 4 = 10,超过 7)

亲手试试

// TODO: 在这里编写你的代码
// 用 while 循环依次相加连续的数字(1, 2, 3, ...)
// 直到总和达到或超过目标值


// 输出最终总和与最后加上的数字
echo $total . "\n";
echo $num;
?>
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: PHP 在线编译器