for 与 while 循环
使用 for、while 和 do-while 循环重复执行代码。
for 与 while 循环 是 CoddyKit 上的免费 PHP Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 PHP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 PHP Academy 课程共包含 4 节课。
为什么需要循环?
循环让您可以重复执行代码块,而不必反复复制粘贴。PHP 提供四种循环结构:
for—— 已知迭代次数while—— 由条件控制do-while—— 至少执行一次foreach—— 遍历数组或对象(下一课介绍)
for 循环
for 循环包含三个部分:初始化、条件和递增:
<?php
for ($i = 0; $i < 5; $i++) {
echo $i . ' ';
}
// Output: 0 1 2 3 4for 循环倒计数
您可以倒计数,也可以按任意步长递增或递减:
<?php
// Count down
for ($i = 10; $i >= 1; $i--) {
echo $i . ' ';
}
// Step by 2
for ($i = 0; $i <= 10; $i += 2) {
echo $i . ' '; // 0 2 4 6 8 10
}while 循环
while 循环会在条件为真时持续运行,并在每次迭代前检查条件:
<?php
$n = 1;
while ($n <= 5) {
echo $n . ' ';
$n++;
}
// Output: 1 2 3 4 5do-while 循环
do-while 始终至少执行一次循环体,然后再检查条件:
<?php
$attempt = 0;
do {
echo 'Trying... attempt ' . ($attempt + 1) . PHP_EOL;
$attempt++;
} while ($attempt < 3 && !connectToServer());
function connectToServer(): bool { return false; }无限循环与 break
无限循环会一直运行,除非使用 break 跳出:
<?php
$count = 0;
while (true) {
$count++;
if ($count >= 5) {
break; // exit loop
}
}
echo $count; // 5continue —— 跳过一次迭代
continue 会跳过当前迭代的剩余部分,直接进入下一次迭代:
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 === 0) {
continue; // skip even numbers
}
echo $i . ' '; // 1 3 5 7 9
}嵌套循环
循环可以嵌套使用,适用于网格或表格等二维数据:
<?php
for ($row = 1; $row <= 3; $row++) {
for ($col = 1; $col <= 3; $col++) {
echo "($row,$col) ";
}
echo PHP_EOL;
}
// (1,1) (1,2) (1,3)
// (2,1) (2,2) (2,3)
// (3,1) (3,2) (3,3)跳出嵌套循环
使用 break 2(或其他数字),即可一次跳出多层循环:
<?php
for ($i = 0; $i < 5; $i++) {
for ($j = 0; $j < 5; $j++) {
if ($i === 2 && $j === 2) {
break 2; // exits both loops
}
echo "$i,$j ";
}
}循环性能提示
避免在循环条件中执行开销较大的操作:
<?php
// Bad: count() called on every iteration
for ($i = 0; $i < count($arr); $i++) { /* ... */ }
// Good: calculate once
$len = count($arr);
for ($i = 0; $i < $len; $i++) { /* ... */ }
// Also fine: foreach avoids this entirely
foreach ($arr as $item) { /* ... */ }替代的循环语法
与 if 一样,循环也支持冒号替代语法,以便嵌入 HTML:
<?php $items = ['apple', 'banana', 'cherry']; ?>
<ul>
<?php for ($i = 0; $i < count($items); $i++): ?>
<li><?= htmlspecialchars($items[$i]) ?></li>
<?php endfor; ?>
</ul>快速检查
哪种循环可以保证至少执行一次循环体?
回顾:for 和 while 循环
循环总结:
for—— 迭代次数已知时最适用while—— 在每次迭代前检查条件do-while—— 循环体至少运行一次break退出循环;break N退出 N 层循环continue跳到下一次迭代
下一步:使用 foreach 遍历数组。
常见问题解答
「for 与 while 循环」课时是免费的吗?
是的 — 「for 与 while 循环」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 PHP Academy 课程的其余内容,请升级到 CoddyKit PRO。 PHP Academy 课程共包含 4 节课。
「for 与 while 循环」这节课中我会学到什么?
使用 for、while 和 do-while 循环重复执行代码。 你通过在浏览器中直接运行的动手代码来练习 PHP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 PHP Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 PHP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「for 与 while 循环」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 PHP Academy 课中编写并运行代码吗?
能。每节 PHP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- if、elseif 与 else
- Switch 与 Match 语句
- for 与 while 循环
- foreach 与循环控制