continue break return exit 的区别

核心区别总结

语句作用范围效果
continue当前循环跳过本次循环剩余代码,立即进入下一次循环迭代
break当前循环或 switch立即终止当前所在的循环或 switch 语句,跳出该结构。
return当前函数立即终止当前函数的执行,并将控制权(和可选值)返回给调用者。函数内 return 后的代码不再执行。
exit (或 die)整个脚本立即终止当前 PHP 脚本的执行,脚本中 exit 之后的所有代码(包括函数外的)都不再执行。

详细例子

<?php
function processNumbers($numbers) {
    echo "函数开始执行。\n";

    foreach ($numbers as $num) {
        echo "处理数字: $num\n";

        // --- 情况 1: num 为 0 ---
        if ($num == 0) {
            echo "  发现 0,使用 continue 跳过本次循环。\n";
            continue; // 跳过本次循环,进入下一个 $num
            echo "这行永远不会执行(continue后)。\n"; // 不会输出
        }

        // --- 情况 2: num 为 3 ---
        if ($num == 3) {
            echo "  发现 3,使用 break 终止 foreach 循环。\n";
            break; // 立即跳出 foreach 循环
            echo "这行永远不会执行(break后)。\n"; // 不会输出
        }

        // --- 情况 3: num 为 5 ---
        if ($num == 5) {
            echo "  发现 5,使用 return 结束整个函数。\n";
            return; // 立即结束 processNumbers 函数
            echo "这行永远不会执行(return后)。\n"; // 不会输出
        }

        // --- 情况 4: num 为 7 ---
        if ($num == 7) {
            echo "  发现 7,使用 exit 终止整个脚本。\n";
            exit; // 立即终止整个 PHP 脚本
            echo "这行永远不会执行(exit后)。\n"; // 不会输出
        }

        // --- 正常处理 ---
        echo "  数字 $num 处理完成。\n";
    }

    // 这行代码在 foreach 循环之后
    echo "foreach 循环结束。\n";

    // 这行代码在函数末尾
    echo "函数即将结束(正常返回)。\n";
}

// --- 主脚本开始 ---
echo "脚本开始。\n";

$testArray = [1, 2, 0, 4, 3, 5, 6, 7, 8, 9];

// 调用函数
processNumbers($testArray);

// 函数调用后的代码
echo "函数调用完成。\n";
echo "脚本结束。\n";
?>