UI設計したり、ウェブシステムを開発したりします。 

SQL見るだけクエリ#204 PHP8.0の新機能:match式の使い方と効果的な条件処理の解説

記入日:2023-08-01 編集日:2023-08-01

PHP8.0の新機能:match式の使い方と効果的な条件処理の解説をしてみようと思います。

この記事を読むと(約5分)
PHP8.0の新機能:match式の使い方と効果的な条件処理をイメージできます。

match式の使い方

PHPのmatch式(マッチ式)は、PHP 8.0で導入された新しい制御構造です。
以前のバージョンではswitch文を使用していましたが、match式はよりコンパクトで直感的な方法で複数の条件を処理できるようになりました。

以下は、match式の基本的な構文です:

$result = match ($value) {
    $condition1 => $result1,
    $condition2 => $result2,
    // ...
    $default => $defaultResult
};

match式は、$valueと一致する最初の条件に基づいて、対応する結果を返します。$valueを評価し、その結果が各条件と比較されます。最初に一致する条件があれば、対応する結果が返されます。もし一致する条件がない場合は、$defaultResultが返されます。

以下は、match式の例です:

function getDayType($day) {
    return match (strtolower($day)) {
        'monday', 'tuesday', 'wednesday', 'thursday', 'friday' => 'Weekday',
        'saturday', 'sunday' => 'Weekend',
        default => 'Invalid day'
    };
}

echo getDayType('monday'); // Output: Weekday
echo getDayType('saturday'); // Output: Weekend
echo getDayType('invalid'); // Output: Invalid day

この例では、getDayType関数がmatch式を使用して、与えられた曜日に応じて"Weekday"か"Weekend"か、それ以外の場合は"Invalid day"を返しています。

match式の利点は、コードがシンプルで読みやすくなること、条件が冗長にならないこと、そして一致する条件の評価順序に依存しないことです。これにより、スイッチ文よりも柔軟で効率的なコードを記述できるようになります。

注意点として、match式はPHP 8.0以降でのみ利用できますので、それ以前のバージョンでは利用できません。また、条件は厳密な一致を使用する場合と異なり、通常の評価順序を使用する点にも注意してください。

SQLの使いどころ

サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。

SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。

また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。

KK

機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。