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";
?>