嘿,各位代码打工人!是不是经常在写PHP循环的时候,遇到一些“特殊情况”让你眉头一皱?比如循环处理100条用户数据,突然发现第50条是个测试账号,不想处理它;或者遍历一个产品列表,遇到缺货的商品就想直接忽略,接着看下一个……
这时候,你可能会想:“那我用个if语句把不想处理的包起来不就行了?” 没错,这能解决问题,但代码会变成一堆层层嵌套的“粽子”,看得人眼花。今天,我就给大家安利一个PHP循环里的“摸鱼神器”——continue语句。它不是什么复杂黑魔法,但用对了地方,能让你的代码瞬间变得清爽又高效,简直像给循环装了个“智能跳过”按钮!
一、初见continue:循环里的“过!下一个!”
咱们先来打个比方。想象一下,你是一条流水线上的质检员(for或foreach循环)。你的任务是检查每一件产品(每次循环迭代)。突然,传送带送来一个贴着“样品,免检”标签的箱子(不满足某个条件的产品)。你会怎么办?A. 把整个流水线关了(break)?B. 把这个箱子拿到一边,继续检查下一个箱子(continue)?
正常人都会选B对吧?continue干的就是这个事:在循环内部,当某个条件触发时,它会立刻终止当前这一次的迭代,直接蹦到循环的开头,开始下一次迭代。 循环本身并不会结束。
来看一个最基础的“渣男”分手场景:
<?php
echo "开始给前任们发告别短信(循环):<br>";
for ($i = 1; $i <= 5; $i++) {
if ($i == 3) { // 第三个是那位“特别”的前任,算了不发了
echo "跳过第{$i}位(原因:不堪回首)<br>";
continue; // 关键操作:跳过本次循环的后续所有代码
}
echo "正在发送短信给第{$i}位前任:祝你幸福!<br>";
}
echo "<br>循环结束,任务完成(或未完成)。";
?>
输出结果:
开始给前任们发告别短信(循环):
正在发送短信给第1位前任:祝你幸福!
正在发送短信给第2位前任:祝你幸福!
跳过第3位(原因:不堪回首)
正在发送短信给第4位前任:祝你幸福!
正在发送短信给第5位前任:祝你幸福!
循环结束,任务完成(或未完成)。
看明白了吗?当$i等于3时,continue生效了。它后面的echo "正在发送短信..."这行代码在这次迭代中就被跳过了。循环没有中断,紧接着就开始了$i=4的新旅程。这就是continue的核心思想:放弃当次,奔赴下次。
二、别搞混了!continue VS break: “跳过”和“掀桌”的天壤之别
很多新手容易把continue和它的暴躁老哥break搞混。我们来个对比实验,高下立判:
<?php
echo "实验:处理一组数字[1,2,3,4,5],遇到3时反应不同<br><br>";
echo "场景一:使用continue(跳过3)<br>";
for ($i = 1; $i <= 5; $i++) {
if ($i == 3) {
continue; // 跳过3
}
echo $i .

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



