close

大家好 一陣子沒更新了 最近php8推出 試著使用了8的語法 相較於7確實是有許多簡潔的部分 今天要講的是Match的語法。

match 語法 是可以代替三元運算值 與switch的部分功能的 因為match回傳一個值 所以你的switch語法會更加簡潔 語法如下


$a = match ($value) {
    "a" => "1",
    "b" => '2"
};

這段程式碼等同:

    switch($value) {
        case "a":
            $a = "1";
            break;
        case "b": 
            $a = "b";
            break;
    }

也等同於

    $a = $value==="a" ? 1:  $value==="b"?  2: null;

相比之下 更為好懂,也更為簡潔 好處是它可以直接return ,如果需要配對的值很多,效果就會差很多。 match 雖然語法簡潔 不過要注意: 如果都沒有match 到 它會讓php報錯 告訴你都沒有match 的值。所以他並不適用有可能有例外的狀況。如果有可能需要用到例外狀況,要不就是使用try catch 要不就還是回去用switch吧。

arrow
arrow
    文章標籤
    程式
    全站熱搜

    工程師黑田 發表在 痞客邦 留言(0) 人氣()