PHP 循环与控制:continue 跳过语句
-
continue 关键字用了跳过当前单次循环,如果存在循环嵌套,可以接受一个可选的数字来决定跳过第几层循环
-
continue与break的区别是 break会立即终止循环,程序将会执行下一条语句,continue只是跳过当前单次循环,如果下次循环满足循环条件会继续执行,不会终止循环。
跳过当前单次循环示例:
//PHPcontinue
//给定一个数组通过循环去掉数组中小于0的数据
$arr1 = array(1,3,4,6,-1,-2,7);
//使用foreach循环数组
foreach ($arr1 as $key => $value) {
//通过unset()函数销毁小于0的数据
if ($value < 0) {
unset($arr1[$key]);
}
}
var_dump($arr1);
输出:array(5) { [0]=> int(1) [1]=> int(3) [2]=> int(4) [3]=> int(6) [6]=> int(7) }
使用continue来跳过两个嵌套循环的实例:
//去除数组arr1与arr2重复的值 写入新的数组arr3
$arr1 = array(1, 2, 3, 4, 5);
$arr2 = array(8, 7, 6, 5, 4);
$arr3 = array();
foreach ($arr1 as $k1 => $v1) {
foreach ($arr2 as $k2 => $v2) {
//两个数组中有相同的项,则跳过arr1的本次循环
if ($v1 == $v2) {
continue 2;
}
}
//没有满足跳过循环的条件则添加到arr3
array_push($arr3, $v1);
}
var_dump($arr3);
输出:array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }