0
$arr = array(1, 2, 3, 4);
foreach ($arr as $value) {
    $i=0;
    if($i==1||$i==2){continue;}
    echo $value;
    $i++;
}

我是PHP的新手,现在我做一个测试,我想退出循环不输出2和3,为什么上面的代码不起作用?

4

1 回答 1

7

那是因为您$i = 0;在每次迭代中都设置了(因此您的检查$i==1||$i==2永远不会匹配)。变量初始化在循环之外:

$arr = array(1, 2, 3, 4);
$i   = 0;
foreach ($arr as $value) {
    if ($i == 1 || $i == 2) {
        continue;
    }
    echo $value;
    $i++;
}
于 2012-08-19T08:56:50.023 回答