在 PHP 代码编写过程中,经常会遇到需要跳过中间某些语句或者完全停止程序的情况,这就需要用到 break 和 continue 两个关键词。
举例来说,考虑一个循环结构,我们要找出某个数组中最小的正整数:
$nums = array(0, 1, 4, 2, 3, 5); $min_positive = -1; foreach ($nums as $num) { if ($num<= 0) { // 负数或零不考虑 continue; } if ($min_positive == -1 || $num< $min_positive) { $min_positive = $num; } if ($min_positive == 1) { // 找到了最小的正整数,可以结束循环了 break; } } echo "最小的正整数是:" . $min_positive;在这个例子中,当循环遍历到负数或者零时,我们使用 continue 跳过本次循环,进入下一次循环;当找到最小的正整数以后,我们使用 break 直接结束循环,这两个关键词大大简化了程序的编写。 需要注意的是,break 和 continue 只对当前所在的那一层循环产生作用。如果有多层嵌套循环,并且想要直接跳出最外层循环,可以使用一个带标签的 break 语句:
$nums = array(array(0, 1), array(2, 3), array(4, 5)); outer_loop: // 带有标签的语句,outer_loop 可以是任何不冲突的标识符 foreach ($nums as $row) { foreach ($row as $num) { if ($num == 3) { break outer_loop; // 跳出 outer_loop 标记的循环 } } }除了在循环中使用,break 和 continue 还可以用于 switch 和 do-while 等语句中。在 switch 中,break 能够强制跳出整个 switch,而 continue 则没有任何作用;在 do-while 中,break 和 continue 的作用和在循环中完全相同。 需要注意的是,滥用 break 和 continue 可以导致代码可读性和可维护性降低,因此在实际编写程序时要注意控制使用数量和位置。同时,程序的逻辑也要清晰,不要过度依赖这两个关键词。