您的位置:

foreach终止循环详解

一、break语句的使用

在使用foreach循环时,我们可以通过break语句来提前结束循环。如下示例:


执行以上代码,得到的结果为:

apple banana

这是因为当$fruit等于"orange"时,就会执行break语句,跳出循环。

二、continue语句的使用

除了使用break语句终止循环外,我们还可以使用continue语句跳过当前循环,继续执行下一次循环。如下示例:


执行以上代码,得到的结果为:

apple banana watermelon grape

这是因为当$fruit等于"orange"时,就会执行continue语句,跳过当前循环,继续执行下一次循环。

三、break和continue语句在嵌套循环中的使用

当我们在嵌套循环中使用break和continue语句时,需要注意它们的影响范围。如下示例:

";
}
?>

执行以上代码,得到的结果为:

i = 1, j = 1

i = 2, j = 1

i = 3, j = 1

这是因为当$j等于2时,执行break语句,只会跳出内层循环,继续执行外层循环。

如果我们将内层循环中的break语句替换为continue语句,如下示例:

";
}
?>

执行以上代码,得到的结果为:

i = 1, j = 1 i = 1, j = 3

i = 2, j = 1 i = 2, j = 3

i = 3, j = 1 i = 3, j = 3

这是因为当$j等于2时,执行continue语句,只会跳过本次内层循环,继续执行下一次内层循环。

四、使用标签和goto语句

除了使用break和continue语句终止或跳过循环外,我们还可以使用标签和goto语句来控制循环。如下示例:

= count($fruits)){
        goto end;
    }
    if($fruits[$i] == "orange"){
        $i++;
        goto start;
    }
    echo $fruits[$i] . " ";
    $i++;
    goto start;
end:
?>

执行以上代码,得到的结果为:

apple banana watermelon grape

这是因为我们在代码中定义了一个标签start,goto语句可以跳转到这个标签处执行代码。当遇到$fruits[$i]等于"orange"时,我们使用goto语句跳转到标签start处,跳过当前循环。