$arr = array(1, 2, 3, 4);
foreach ($arr as $value) {
$i=0;
if($i==1||$i==2){continue;}
echo $value;
$i++;
}
我是PHP的新手,现在我做了一个测试,我想要循环不输出2和3,为什么上面的代码不起作用?
答案 0 :(得分: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++;
}