continue是PHP中跳过当前循环迭代、进入下一次迭代的控制语句,仅用于for、foreach、while、do-while循环内;for中执行后先步进再判断,foreach中跳至下一元素,while中跳回条件判断;与break彻底跳出循环不同。
continue 是 PHP 中用于跳过当前循环迭代、直接进入下一次循环的控制语句。它不终止整个循环,只“跳过本次”,让循环继续执行后续的迭代。
它只能用在 for、foreach、while、do-while 这些循环结构内部。如果写在循环外面,会报致命错误(Fatal error)。
for 循环中,执行 continue 后,会先运行“步进表达式”(比如 $i++),再判断条件是否继续foreach 中,它会立即跳到下一个数组元素while 中,它跳回条件判断处,不执行本轮剩余代码break 是彻底跳出当前循环(甚至可跳出多层),而 continue 只是“这次不干了,下一轮照常”。比如:
for ($i = 1; $i <= 5; $i++) {
if ($i == 3) continue;
echo $i . " ";
}
// 输出:1 2 4 5(跳过了 3)
如果把 continue 换成 break,就只输出 1 2,循环直接结束。
比如 continue 2 表示跳过当前循环 + 外层一层循环的本次迭代(类似 break 2 的层级逻辑)。常见于嵌套循环中避免深层 if 判断:
continue; 等价于 continue 1;
continue 2; 从内层循环直接跳到外层循环的下一次迭代适合过滤掉不符合条件的数据,让逻辑更清晰。比如遍历用户数组,跳过禁用用户:
foreach ($users as $user) {
if ($user['status'] !== 'active') {
continue; // 不处理非活跃用户
}
sendWelcomeEmail($user);
}
比起用大段 i 包裹业务逻辑,用
f (...) { ... }continue 提前退出,能让主流程更聚焦。
基本上就这些。