PHP 循环与控制:continue 跳过语句 3 个改进

  1. continue 关键字用了跳过当前单次循环,如果存在循环嵌套,可以接受一个可选的数字来决定跳过第几层循环

  2. 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) }

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!