php8で新たに採用されたmatch式と switch文の記述違い サクッと説明

php8から使用可能になったmatch式の説明です。尚、自社サーバーは7系だったのでローカルで試しました。

書き方の違い

match式は

・breakがいらない

・返り値があるので、指定するのは一度だけ

厳密な比較なので上記ではdefaultのvalueが返されます。

switch文だとスルーしてしまうケースでもエラーを返します。

どうやらmatch式を採用するにあたり、上記の書き方が出来てしまうことで最初に全パターンの正規表現関数が実行されパフォーマンスが落ちるので反対意見もあったそうです。

厳密な比較になりますので既存のコードをいきなりmatch式で書き直すと色々事故が起きそうなので、採用するにはまずは型比較を見直した方がよさそうです。

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL