PHP プログラミング言語の継続的な開発と改善により、多くの興味深い新機能と構文シュガーが PHP8 バージョンに導入されました。この記事では、コードをより美しく効率的にする構文糖衣の 1 つである match 式を紹介します。
match 式は switch ステートメントに基づいていますが、構文がよりコンパクトで変数を返すことができるため、コードがより簡潔で理解しやすくなります。
一致式を使用するための構文:
match ($value) { pattern => statement, pattern2 => statement2, ... default => statementN }
ここで、一致式のパラメータは、比較する必要がある値を示す $value 変数です。次に、パターンを使用して $value の値を照合し、ステートメント ステートメントを実行します。
次の例は、一致式によってコードの可読性がどのように向上するかを示しています。
一致式を使用しないコード:
function getDayOfWeek($day) { $result = ""; switch ($day) { case 0: $result = "Sunday"; break; case 1: $result = "Monday"; break; case 2: $result = "Tuesday"; break; case 3: $result = "Wednesday"; break; case 4: $result = "Thursday"; break; case 5: $result = "Friday"; break; case 6: $result = "Saturday"; break; } return $result; }
一致式を使用するコード:
function getDayOfWeek($day) { return match ($day) { 0 => "Sunday", 1 => "Monday", 2 => "Tuesday", 3 => "Wednesday", 4 => "Thursday", 5 => "Friday", 6 => "Saturday", }; }
match 式を使用してこの関数を書き直すと、コードがより読みやすく合理化され、重複したコードも削除できることがわかります。
同時に、一致式を使用すると、複数の条件ステートメントでのネストを簡素化できます。
function getDiscountPercentage($age, $residency) { if ($age >= 65 && $residency === 'YES') { return 20; } elseif ($age >= 65 && $residency === 'NO') { return 10; } elseif ($age < 65 && $residency === 'YES') { return 10; } else { return 5; } }
一致式を使用すると、上記のコードをより効率的かつ簡潔にすることができます。
function getDiscountPercentage($age, $residency) { return match (true) { $age >= 65 && $residency === 'YES' => 20, $age >= 65 && $residency === 'NO' => 10, $age < 65 && $residency === 'YES' => 10, default => 5, }; }
一致式を使用すると、コードがより効率的で、簡潔で、読みやすくなります。
コードをリファクタリングするときは、コードの効率と読みやすさを向上させるために一致式の使用を検討することをお勧めします。
もちろん、一致式はすべての状況に万能なソリューションではありませんが、シナリオによってはコードの最適化に役立ち、コードの効率と読みやすさを向上させることができます。
最後に、一致式を使用するもう 1 つの利点は、コードの一貫性が高まることです。これは、さまざまな if/elseif ステートメントを作成するよりも、同様のコードを作成する可能性が高いためです。
つまり、一致式を使用すると、コードの読みやすさ、保守性、効率が大幅に向上します。
以上がPHP8 で一致式を使用して、コードを美しく効率的にします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。