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 教程。