Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PHP8で導入されるmatch式 / php8_match

kuwacchi
September 25, 2020

PHP8で導入されるmatch式 / php8_match

PHP8で導入されるmatch式についての発表した内容です。

kuwacchi

September 25, 2020
Tweet

More Decks by kuwacchi

Other Decks in Technology

Transcript

  1. #phpltjam ©2020 RAKUS Co., Ltd. switchとmatchの違い match switch 返り値 あり

    なし breakの記述 不要 必要 各条件の処理 1行でしか書けない ブロックで記述可能 比較 厳密(===) 緩やか(==) どの条件にも当てはまらない場合 エラーになる そのまま実行される
  2. #phpltjam ©2020 RAKUS Co., Ltd. switchやifは「文」、matchは「式」 • 文とは • 値を返さない

    → 各条件で代入が必要 • 式とは • 値を返す → 代入忘れが発生しにくい 直接、値の代入はできない 値の代入は1回でいい
  3. #phpltjam ©2020 RAKUS Co., Ltd. まとめ • match式はswitchに比べバグが入りにくい仕様 • 代入忘れしにくい

    • break忘れがない • 条件忘れもエラーで気付ける • 厳密な比較は良い面も悪い面もある • 既存コードやPHPの関数の型を把握していないと思わぬバグに繋がる恐れも