現在の位置: ホーム> 最新記事一覧> PHP8の新機能:マッチ式を使用して条件判断を最適化する例

PHP8の新機能:マッチ式を使用して条件判断を最適化する例

M66 2025-10-07

PHP8の一致式の利点

PHP8は、開発者が条件付き判断コードを大幅に簡素化するのに役立つ新しい機能であるMatch Expressionsを導入します。従来のスイッチまたはIF-ELSEステートメントと比較して、一致式はより簡潔で読みやすく、直接値を返すことができ、コードロジックをより明確にすることができます。

従来の条件付き判断の制限

PHP7および以前のバージョンでは、開発者は通常、スイッチステートメントまたはマルチレイヤーのIF-ELSEを使用して条件付き判断を下します。この方法では機能を実装できますが、多くの場合、コードの複製、高いメンテナンスコスト、および不十分なロジックにつながります。

一致式の基本的な使用

一致式の構文はスイッチに似ていますが、値を返すことができる式です。数値のタイプを決定する方法を示す例を以下に示します。

 function getType(int $ number){
    return match(true){
        $ number <0 => &#39;ネガティブ&#39;、
        $ number == 0 => &#39;zero&#39;、
        $ number> 0 => &#39;Positive&#39;、
    };
}

Echo getType(-5); //出力:ネガティブ
Echo getType(0); //出力:ゼロ
Echo getType(10); //出力:ただ

この例では、getType関数は、渡された数値に基づいて対応するタイプを返します。一致の判断条件としてtrueを使用すると、複数の条件分岐を簡単に処理できます。

一致式に基づく実用アプリケーション

数値タイプの判断に加えて、一致式は、製品タイプに基づいて価格を返すなど、より複雑なロジックにも使用できます。

 function getPrice(String $ ProductType){
    return match($ productType){
        「book」=> 20、
        「服」=> 50、
        &#39;Electronics&#39; => 100、
        デフォルト=> 0、
    };
}

Echo getPrice( &#39;book&#39;); //出力:20
Echo getPrice( &#39;服&#39;); //出力:50
Echo GetPrice( &#39;Electronics&#39;); //出力:100
echo getPrice( &#39;nown&#39;); //出力:0

この例では、GetPrice関数は、さまざまな製品タイプに応じて対応する価格を返し、条件が一致しない場合、デフォルト値は0です。

一致式の拡張機能

一致式は、単純な条件のマッチングに使用するだけでなく、論理演算子の条件を組み合わせたり、匿名関数を使用して結果を返すなどの機能もサポートします。これらの機能により、コードがより柔軟になり、複雑なビジネスロジックの処理が促進されます。

要約します

PHP8の一致式は、効率的かつ簡潔な条件付き判断の方法を提供します。これは、面倒なif-elseまたはスイッチステートメントを置き換えることができます。一致式を使用すると、コードの読みやすさを改善し、重複コードを削減し、開発効率を向上させることができます。この例を通じて、開発者はより速く開始し、実際のプロジェクトで一致の表現を適用できます。