一、break语句的使用
在使用foreach循环时,我们可以通过break语句来提前结束循环。如下示例:
$fruits = array("apple", "banana", "orange", "watermelon", "grape");
foreach($fruits as $fruit){
if($fruit == "orange"){
break;
}
echo $fruit . " ";
}
执行以上代码,得到的结果为:
apple banana
这是因为当$fruit等于"orange"时,就会执行break语句,跳出循环。
二、continue语句的使用
除了使用break语句终止循环外,我们还可以使用continue语句跳过当前循环,继续执行下一次循环。如下示例:
$fruits = array("apple", "banana", "orange", "watermelon", "grape");
foreach($fruits as $fruit){
if($fruit == "orange"){
continue;
}
echo $fruit . " ";
}
执行以上代码,得到的结果为:
apple banana watermelon grape
这是因为当$fruit等于"orange"时,就会执行continue语句,跳过当前循环,继续执行下一次循环。
三、break和continue语句在嵌套循环中的使用
当我们在嵌套循环中使用break和continue语句时,需要注意它们的影响范围。如下示例:
for($i = 1; $i <= 3; $i++){
for($j = 1; $j <= 3; $j++){
if($j == 2){
break;
}
echo "i = " . $i . ", j = " . $j . " ";
}
echo "<br>";
}
执行以上代码,得到的结果为:
i = 1, j = 1
i = 2, j = 1
i = 3, j = 1
这是因为当$j等于2时,执行break语句,只会跳出内层循环,继续执行外层循环。 如果我们将内层循环中的break语句替换为continue语句,如下示例:
for($i = 1; $i <= 3; $i++){
for($j = 1; $j <= 3; $j++){
if($j == 2){
continue;
}
echo "i = " . $i . ", j = " . $j . " ";
}
echo "<br>";
}
执行以上代码,得到的结果为:
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语句来控制循环。如下示例:
$fruits = array("apple", "banana", "orange", "watermelon", "grape");
$i = 0;
start:
if($i >= 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
处,跳过当前循环。