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 サイトの他の関連記事を参照してください。