PHP for循环基本写法为三段式:初始化(如$i=0,仅执行一次)、条件判断(每次循环前检查,为false时退出)、递增/递减(每次循环体后执行,如$i++);三部分以分号分隔,缺一不可,空表达式可构成无限循环。

PHP for 循环的基本写法
PHP 的 for 循环和 C/Java 风格一致,三段式结构:初始化、条件判断、递增/递减。最简可用形式是 for ($i = 0; $i 。
常见错误是把分号写成逗号,或者漏掉某一段(比如忘记写 $i++),导致死循环。注意:三段之间必须用分号隔开,不是逗号,也不是空格。
示例:
for ($i = 1; $i <= 3; $i++) {
echo "第 $i 次\n";
}
// 输出:第 1 次、第 2 次、第 3 次
for 循环中修改循环变量的坑
可以在循环体里手动改 $i,但容易破坏逻辑节奏。比如在遍历数组时,跳过某个索引后没同步调整条件,可能漏处理或重复处理。
立即学习“PHP免费学习笔记(深入)”;
- 避免在循环体内直接赋值
$i = $i + 2后还依赖$i++,两者叠加会跳过更多项 - 如果真要跳跃式遍历(如只处理偶数下标),建议把增量逻辑统一收口到第三段:
for ($i = 0; $i - 修改
$i不影响当前轮次的执行,但会影响下一轮的判断和增量
for 和 foreach 哪个更适合遍历数组?
绝大多数情况下该用 foreach,而不是 for 配合 count()。原因很实际:
-
foreach自动处理键值,不依赖数组是否连续、是否从 0 开始 for ($i = 0; $i 每次都调用 <code>count(),性能差;应提前存为变量:$len = count($arr)- 关联数组用
for很麻烦,foreach ($arr as $key => $val)直接可得 - 如果需要同时操作键、值、索引位置,且数组下标有语义(如 CSV 行号),
for更可控
for 循环嵌套时的变量命名与作用域
嵌套 for 时别复用 $i,否则内层会覆盖外层变量。PHP 没块级作用域,$i 在整个函数里都可见。
正确做法是用语义化变量名:
for ($row = 0; $row < $height; $row++) {
for ($col = 0; $col < $width; $col++) {
echo $matrix[$row][$col];
}
}
如果嵌套三层以上,要考虑是否该拆成函数——不是语法限制,而是可读性和调试成本问题。另外,break 2 可跳出两层,但少用,容易让逻辑变隐晦。



















