PHP for循环
最后修改于 2025 年 4 月 16 日
PHP for 循环是重复执行代码的基本控制结构。当您确切知道需要迭代多少次时,它非常理想。for 循环将初始化、条件和增量组合在一个紧凑的语法中。
基本定义
for 循环重复执行一段代码,直到指定的条件评估为 false。它由三个表达式组成,这些表达式由分号分隔,位于括号内。
第一个表达式初始化循环计数器。第二个定义继续条件。第三个在每次迭代后更新计数器。
语法:for (init; condition; increment) { code }。所有三个表达式都是可选的,但分号必须保留。循环继续,直到条件评估为 true。
基本 for 循环
此示例演示了一个简单的 for 循环,该循环从 1 数到 5。
<?php
declare(strict_types=1);
for ($i = 1; $i <= 5; $i++) {
echo "Iteration: $i<br>";
}
代码将 $i 初始化为 1。当 $i 小于或等于 5 时,它会继续。每次迭代后,$i 递增 1。循环体执行 5 次,打印当前的迭代次数。
倒数
此示例显示了一个 for 循环,从 10 倒数到 1。
<?php
declare(strict_types=1);
for ($i = 10; $i >= 1; $i--) {
echo "$i...<br>";
}
echo "Liftoff!";
循环从 10 开始,并持续到 $i 大于或等于 1 为止。递减运算符 ($i--) 每次迭代都会减少计数器。这创建了一个经典的倒数序列,以一条消息结束。
按值步进
此示例演示了在 for 循环中使用不同的步进值。
<?php
declare(strict_types=1);
// Count even numbers from 0 to 10
for ($i = 0; $i <= 10; $i += 2) {
echo "$i ";
}
echo "<br>";
// Count by fives from 5 to 25
for ($i = 5; $i <= 25; $i += 5) {
echo "$i ";
}
第一个循环通过每次迭代步进 2 来计算偶数。第二个以 5 的增量进行计数。增量表达式可以使用任何有效的算术运算。这提供了灵活的迭代控制。
嵌套 for 循环
此示例显示了如何嵌套 for 循环以创建乘法表。
<?php
declare(strict_types=1);
for ($i = 1; $i <= 5; $i++) {
for ($j = 1; $j <= 5; $j++) {
echo str_pad($i * $j, 4, " ", STR_PAD_LEFT);
}
echo "<br>";
}
外循环控制行,而内循环处理列。每次迭代都会将当前的行号和列号相乘。str_pad 格式化输出以进行对齐。嵌套循环对于基于网格的操作非常强大。
使用 break 控制循环
此示例演示了如何使用 break 提前退出循环。
<?php
declare(strict_types=1);
for ($i = 1; $i <= 100; $i++) {
echo "$i ";
if ($i % 13 == 0) {
echo "<br>Found a multiple of 13!";
break;
}
}
循环计数到 100,但在找到 13 的第一个倍数时停止。break 语句立即终止循环执行。这对于搜索操作很有用,您可以在找到匹配项后停止。
使用 continue 控制循环
此示例显示了如何使用 continue 跳过特定的迭代。
<?php
declare(strict_types=1);
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 == 0) {
continue;
}
echo "$i is odd<br>";
}
循环仅打印 1 到 10 之间的奇数。当 $i 为偶数时,continue 跳过迭代的其余部分。然后循环继续到下一个值。这会过滤掉不需要的值,而无需退出。
使用 for 的无限循环
此示例演示了如何使用 for 语法创建无限循环。
<?php
declare(strict_types=1);
$count = 0;
for (;;) {
echo "Loop iteration $count<br>";
$count++;
if ($count >= 5) {
break;
}
}
通过省略所有三个表达式,我们创建了一个无限循环。代码使用手动计数器和 break 条件。这种模式有时用于事件循环或直到满足外部条件。
最佳实践
- 初始化: 在 for 语句中声明循环计数器。
- 可读性: 保持循环体简短且专注。
- 复杂性: 尽可能避免深度嵌套的循环。
- 性能: 将不变的计算移到循环之外。
- 终止: 确保循环具有清晰的退出条件。
来源
本教程介绍了 PHP for 循环,并提供了实际示例,展示了基本用法、控制流程和各种迭代模式。
作者
列出 所有 PHP 教程。