PHP Break 和 Continue


2021年8月23日, Learn eTutorial
2913

在本 PHP 教程中,您将学习有关 PHP 条件语句的所有知识。我们将详细讨论 break 和 continue 语句。

PHP 中的 break 语句是什么?

PHP 中的 break 语句用于终止程序的当前流程。break 语句主要用于根据指定条件中断 for、while、do…while、foreach 和 switch 语句的执行。

语法


jump statement;  
break;

PHP - Break statement

在循环中使用 break 语句

在循环中使用 break 语句时,它会在满足 break 语句的条件时终止循环的执行,即使它不满足循环条件。

示例:PHP 中的 break 语句


for ($i = 1; $i <= 10; $i++) {    
echo "$i ";    
if ($i == 3) {    
break;    
}    
}    
 
 

输出


1 2 3

在上面的示例中,我们可以看到循环条件是使变量“i”的值从 1 迭代到 10。在循环块中,我们打印变量“i”的值,并检查条件“i == 3”,在 if 语句块中,我们使用 break 语句。根据它,如果满足条件,循环应该被终止。我们可以看到循环应该迭代直到变量“i”的值变为“10”,并且通过使用 break 语句,它不满足该条件并在满足 break 条件时退出循环。

在内层循环中使用 break 语句

同样,当我们在内层循环中使用 break 语句时,它只会终止内层循环,而不会影响外层循环。

示例:PHP 中的 break 语句


for ($i = 1; $i <= 3; $i++) {    
    for ($j = 1; $j <= 5; $j++) {
        echo "$i * $j = ". $i * $j. "\n";
        if ($j == 3) {
            break;
        }
    }    
}    

 

输出


1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9

在上面的示例中,我们可以看到循环条件是使变量“i”的值从 1 迭代到 3,同样内层循环应使变量“j”的值从 1 迭代到 5。在循环块中,我们打印变量“i”和“j”的乘积值,根据循环条件,外层循环应该迭代 3 次,内层循环应该迭代 5 次。但在上述情况下,我们可以看到在内层循环块中,我们有条件“j == 3”,并且在该条件块中使用 break 语句,因此内层循环不会迭代 5 次,我们还可以看到 break 语句没有影响外层循环,外层循环完成了其整个迭代。

在 switch 语句中使用 break 语句

尽管 break 语句在 switch 语句中是可选的,但通常建议使用它。如果我们不在 **switch** 语句中使用 **break** 语句,即使满足了条件,它也会继续检查所有条件。而在另一种情况下,如果我们使用 break 语句,当条件满足时,它将直接退出 **switch** 语句,即使还有更多条件。

不使用 break 语句的 switch 语句示例


$ch = 3;  
    switch ($ch)  
    {     
        case 1:   
            echo "Monday ";  
        case 2:   
            echo "Tuesday ";  
        case 3:   
            echo "Wednesday ";  
        case 4:   
            echo "Thursday ";  
        case 5:   
            echo "Friday ";  
        case 6:   
            echo "Saturday ";  
        case 7:   
            echo "Sunday ";  
        default:   
            echo "Wrong Choice ";  
    }  
 
 

输出


Wednesday Thursday Friday Saturday Sunday Wrong Choice

使用 break 语句的 switch 语句示例


<?php
$ch = 3;  
    switch ($ch)  
    {     
        case 1:   
            echo "Monday";  
            break;  
        case 2:   
            echo "Tuesday";  
            break;  
        case 3:   
            echo "Wednesday";  
            break;  
        case 4:   
            echo "Thursday";  
            break; 
        case 5:   
            echo "Friday";  
            break;  
        case 6:   
            echo "Saturday";  
            break;  
        case 7:   
            echo "Sunday";  
            break; 
        default:   
            echo "Wrong Choice";  
            break;  
    }  

 

输出


Wednesday

上面的示例是打印一周中的某一天,我们可以看到当不使用 break 语句时,满足条件后的所有 case 都会被执行,而当使用 break 语句时,它只会执行条件变为 true 的 case。

PHP 中的 continue 语句是什么?

PHP 中的 continue 语句用于在满足条件时通过跳过当前流程来迭代循环。当我们想进入循环或 switch 控制结构的下一个迭代时,我们使用 continue 语句。continue 语句主要用于根据指定条件中断 for、while、do…while、foreach 和 switch 语句的执行。

语法


jump-statement;  
continue;  

PHP - Continue statement

在循环中使用 continue 语句

在循环中使用 continue 语句时,当它满足 continue 语句的条件时,它会跳过当前迭代的执行,并继续循环的其余流程。


<?php
for ($i = 1; $i <= 10; $i++) {    
if ($i == 3) {    
    continue;    
}
echo "$i ";
}  

 

输出


1 2 4 5 6 7 8 9 10

在上面的示例中,我们可以看到循环条件是使变量“i”的值从 1 迭代到 10。在块中,我们检查条件“i == 3”,当它满足时,我们使用 continue 语句,在条件块之后,我们打印变量“i”的值。通过使用 continue 语句,我们跳过了当前迭代的流程,并执行了循环的其余迭代。正如我们所说,在输出中打印值时,我们可以看到它跳过了“3”。

在内层循环中使用 continue 语句

同样,当我们在内层循环中使用 continue 语句时,它只会跳过剩余的代码并执行下一个迭代。


for ($i = 1; $i <= 3; $i++) {    
    for ($j = 1; $j <= 3; $j++) {
        if ($i == $j) {
            continue;
        }
        echo "$i $j \n";
    }    
}    
 

输出


1 2 
1 3 
2 1 
2 3 
3 1 
3 2

在上面的示例中,我们可以看到循环条件是使变量“i”的值从 1 迭代到 3,同样内层循环应使变量“j”的值从 1 迭代到 3。在循环块中,我们打印变量“i”和“j”的值,根据循环条件,外层循环应该迭代 3 次,内层循环应该迭代 3 次。但在上述情况下,我们可以看到在内层循环块中,我们有条件“i == j”,并且在该条件块中使用 continue 语句,因此当变量“i”和“j”的值相等时,程序将跳过打印。