PHP基础教程(62)PHP跳转语句:别再瞎循环了!PHP跳转语句的“断点续传”秘籍大公开

一、代码世界也需要“红绿灯”?

朋友们好呀,今天咱们来聊聊PHP里那些能让你代码“瞬移”的神奇玩意儿——跳转语句。说白了,就是教你的代码“学会偷懒”,别像个傻小子一样从头跑到尾。

想象一下这个场景:你在餐厅后厨当监工,要检查50道菜的质量。第一道菜就发现了地沟油,难道你还傻乎乎地把剩下49道都尝完?当然是立刻拍桌子:“停!后厨检查不合格!”——这就是break的日常。

或者你在看一部30集的电视剧,中间插播了烦人的广告,你肯定不是关掉电视吧?而是拿起遥控器“快进跳过广告”,然后继续看正片——这就是continue的哲学。

更有甚者,你正在玩一款开放世界游戏,不想慢慢跑图,直接点开地图传送到任务点——这就是goto的争议人生。

二、Break:代码界的“紧急制动按钮”

1. 基础用法:单层循环的“到此为止”

Break是跳转语句家族里最乖的孩子,也是你最早会遇到的。它的核心作用就一句话:立即结束当前循环或switch结构

来看个简单例子:

<?php
// 场景:检查购物车里有没有过期商品,有的话整个订单都取消
$cartItems = ['牛奶', '面包', '过期饼干', '鸡蛋'];
$hasExpired = false;

foreach ($cartItems as $item) {
    echo "正在检查:$item<br>";
    
    if ($item === '过期饼干') {
        echo "⚠️ 发现过期商品!整个订单取消!<br>";
        $hasExpired = true;
        break; // 这里!发现过期就直接跳出循环,后面的鸡蛋不检查了
    }
}

if (!$hasExpired) {
    echo "✅ 所有商品检查通过,可以结账!";
}
?>

2. 高级玩法:Break的数字参数

PHP中的break有个隐藏技能——可以带数字参数,表示要跳出几层循环。这个功能很多人不知道,但特别有用!

<?php
// 场景:在二维数组(比如游戏地图)里找宝藏,找到就收工
$gameMap = [
    [1, 2, 3],
    [4, '宝藏', 6],
    [7, 8, 9]
];

echo "开始寻宝之旅!<br>";

for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
        echo "正在搜索位置($i, $j)...<br>";
        
        if ($gameMap[$i][$j] === '宝藏') {
            echo "🎉 发现宝藏!位置:($i, $j)<br>";
            echo "停止一切搜索工作!<br>";
            break 2; // 跳出2层循环!直接结束所有搜索
        }
    }
    echo "第{$i}行搜索完毕<br>"; // 如果找到宝藏,这行不会执行
}

echo "寻宝任务结束";
?>

3. 实战注意点

  • Break只能用在循环和switch里,放在别处PHP会一脸懵圈
  • 在switch里,break是标配,不然会“贯穿执行”
  • 多层循环时,如果不指定数字参数,默认只跳出一层

三、Continue:聪明的“跳过健将”

1. 核心思想:跳过本次,继续下次

如果说break是“辞职不干了”,那么continue就是“这个任务我不想做,换下一个”。

典型应用场景:批量处理数据时,跳过不符合条件的项。

<?php
// 场景:给用户发送促销短信,但VIP用户和黑名单用户不打扰
$users = [
    ['name' => '张三', 'type' => 'normal', 'phone' => '13800138001'],
    ['name' => '李四', 'type' => 'vip', 'phone' => '13800138002'],
    ['name' => '王五', 'type' => 'blacklist',
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值