我想要循环到循环而不通过循环的所有代码。例如,在示例代码中,我想继续循环而不必遍历匹配的if语句下面的任何if语句。
注意:我知道使用switch语句可以更好地完成与此示例类似的操作,但我的if语句集并不像这样简单。
foreach($array as $key=>$value){
if(is_varchar($value)){loop;}
if(is_text($value)){loop;}
if(is_mediumText($value)){loop;}
if(is_boolean($value)){loop;}
if(is_integer($value)){loop;}
if(is_float($value)){loop;}
if(is_double($value)){loop;}
}
答案 0 :(得分:3)
使用continue
continue在循环结构中用于跳过当前循环迭代的其余部分,并在条件评估和下一次迭代开始时继续执行。
答案 1 :(得分:3)
foreach($x as $y){
if($y==0){continue;}
if($y==1){continue;}
if($y==2){continue;}
if($y==3){continue;} }
答案 2 :(得分:1)
这里没有看到不使用switch
的原因。
foreach ($x as $y) {
switch ($y) {
case 0: continue; break;
case 1: continue; break;
case 2: continue; break;
case 3: continue; break;
}
}
如果continue;
- 语句是switch
- 循环
foreach
foreach ($x as $y) {
switch ($y) {
case 0: doSomethingA(); break;
case 1: doSomethingB(); break;
case 2: doSomethingC(); break;
case 3: doSomethingD(); break;
}
}
更新(更新问题后):
switch
- 语句仍然可用(在我看来更具可读性)
foreach($array as $key=>$value){
switch (true) {
case is_varchar($value): continue; break;
case is_text($value): continue; break;
// And so on
}
}
只要代码什么都不做,你也可以稍微简化一下。
foreach($array as $key=>$value){
switch (true) {
case is_varchar($value):
case is_text($value):
continue;
break;
// And so on
}
}
答案 3 :(得分:0)
你的意思是这样吗?
foreach($x as $y) {
if ($y == 1) {
doThis();
continue;
}
// or something like this?
switch($y) {
case 2:
doThat();
continue;
}
}