Skip to main content

continue.switchのなかでの動作

PHP

x 次のループに行かない。 switch 抜けるだけ

break と同じ範囲抜けるって理屈か

php
foreach ([1, 2, 3, 4, 5, 6, 7] as $i) {
switch ($i) {
case 4:
continue;
default:
break;
}
echo "$i\n"; // 4 が飛ばされない
}

PHP マニュアルには continue 2 とするよう書かれてる

  • 対策: PHP で switch を使うのをやめる

TypeScript

o 次のループに行く

ts
for (const i of [1, 2, 3, 4, 5, 6, 7]) {
switch (i) {
case 4:
continue;
default:
break;
}
console.log(i); // 4 は飛ばされる
}

Ruby

o 次のループに行く

ruby の switch には break はない

rb
[1, 2, 3, 4, 5, 6, 7].each {|i|
case i
when 4
next
else
end
puts i // 4 は飛ばされる
}