首頁  >  文章  >  後端開發  >  關於PHP8中match新語句的騷操作

關於PHP8中match新語句的騷操作

藏色散人
藏色散人轉載
2021-12-17 14:26:192852瀏覽

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

騷操作

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 新出的語法match 相比原來的switch 語法更加的方便和嚴格

推薦學習:《PHP8教程

以上是關於PHP8中match新語句的騷操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:janrs.com。如有侵權,請聯絡admin@php.cn刪除