ワードプレスでPHP8にアップデートするとWarning: “continue” targeting switch is equivalent to “break”. ワーニングが表示される場合の対処方法をご紹介いたします。
PHPのアップデートで表示されるようになる「Warning: “continue” targeting switch is equivalent to “break”.」の意味
このワーニングはPHP7.3以上で表示されるもので、PHP8にアップデートした場合も出てくる場合がございます。
このエラーの意味はcontinueという処理が、誤って使用されているという意味になります。
例えば下記のようなプログラムの場合、continue; ではforeach文を抜けられず(その下のechoの処理に移ってしまう)、breakと同じ動作になるけど問題ないですか?と警告している事になります。
foreach (****) { switch *** { case *** == 0 : continue; default: break; } echo "****"; }
そしてもしforeach文を即座に次のループに移行したならcontinue 2を使用しましょう。と言っています。
foreach (****) { switch *** { case *** == 0 : continue 2;//この場合echo分にはいかず次のループ処理に即座に移行する default: break; } echo "****"; }
「Warning: “continue” targeting switch is equivalent to “break”.」の対処方法
この警告をなくすには、警告文にあるファイルの位置にあるconitinueを修正する必要がございます。
Warning: “continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”? in /home/www/ファイルの位置.php on line 行数
もし、ループ一旦抜ける必要がない場合はbreakに、ループを一旦即座に抜ける必要がある場合はcontinue 2に修正します。
ただ、プログラムがループを抜ける必要があるのかないかを判断するには、プログラムの知識が必要とされ難しい場合があるかと思います。
この場合、該当のプラグイン等をアップデートすることで、PHP7.3以上に出るこういったワーニングをすでに製作者が解消しているかもしれません。こちらもお試しいただけましたら幸いです。