##どんな警告か?
この警告は、forループ内のswitch文で「continue」を記述した場合に表示されます。
switch文内部では「continue」が「break」と同じ動作となるそう。
以下、公式リファレンスを引用
注意: PHP では、continue の動作に関しては switch 文がループ構造とみなされます。
continue に引数を渡さなかった場合の動きは break と同じですが、間違いの元なので警告が生成されます。
switch がループ内にある場合、 continue 2 とすると、外側のループの次回の処理から続行します。
引用元:PHP公式リファレンス
##じゃあどうすればいいの?
forループ内のswitch文で「continue」を使用したい場合、
「continue 2」と指定します。
これで、「continue 2」は、switch文の外にあるforループを対象とします。
以下、参考コード
example.php
for ($i = 0; $i < 10; $i++) {
switch (true) {
case $i % 2 == 0 :
// 偶数のときだけ実行する処理
break;
default:
// 奇数のときはスキップされる
continue 2;
}
}
以上です。