PHP8の新しいmatchステートメントのクールな動作について

藏色散人
リリース: 2023-02-17 12:28:01
転載
2854 人が閲覧しました

PHP8 の新しい構文: match [さらにエキサイティングな匿名関数操作]

PHP8 には、非常に便利な新しい構文、match ステートメントがあります。 match ステートメントは元の switch に似ていますが、switch よりも厳密で便利です。

元の switch ステートメントのコードは次のとおりです:

function getStr( $strType ){
    switch( $strType ){
        case 1:
            $str = 'one';
            break;
        case 2:
            $str = 'two';
            break;
        default :
            $str = 'error';
    }
    return $str;
}
//当输入数值 1 和 字符 '1' 不会进行类型判断
echo getStr(1); //one
echo getStr('1'); //one
echo getStr(2); //two
echo getStr('2'); //two
ログイン後にコピー

match ステートメントに置き換えた後:

function getStr( $strType ){
    return match( $strType ){
        1 => 'number one',
        '1' => 'string one',
        default => 'error',
    };
}
//可以看出输入数值 1 跟字符 `1` 返回的值是不同的
echo getStr(1); //number one
echo getStr('1'); //string one
ログイン後にコピー

Sao 操作

function getStr( $strType ){
    return match( $strType ){
        1 => (function(){
            return 'number one';
        })(),
        '1' => (function(){
            return 'string one';
        })(),
        default => 'error',
    };
}
//虽然这种代码风格也能行的通,但是总感觉哪里怪怪的
echo getStr(1); //number one
echo getStr('1'); //string one
ログイン後にコピー

要約: PHP8 の新しい構文一致は、元のスイッチ構文よりも便利かつ厳密です

推奨学習: "PHP8 チュートリアル"

以上がPHP8の新しいmatchステートメントのクールな動作についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:janrs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート