在PHP中,match
是一個(gè)新的表達(dá)式,它在 PHP 8.0 版本中引入。match
用于比較一個(gè)值與多個(gè)可能的值,并返回與之匹配的第一個(gè)結(jié)果。如果沒有匹配項(xiàng),則會(huì)拋出一個(gè) UnhandledMatchError
異常。
以下是一個(gè)簡(jiǎn)單的 match
示例:
$number = 2;
$result = match ($number) {
1 => "One",
2 => "Two",
3 => "Three",
default => throw new Exception("Invalid number"),
};
echo $result; // 輸出 "Two"
在這個(gè)示例中,我們使用 match
來比較 $number
變量與多個(gè)可能的值。如果沒有匹配項(xiàng),我們拋出一個(gè) Exception
。
要處理 match
中的錯(cuò)誤,你可以使用 try-catch
語句來捕獲和處理異常。例如:
$number = 4;
try {
$result = match ($number) {
1 => "One",
2 => "Two",
3 => "Three",
default => throw new Exception("Invalid number"),
};
echo $result;
} catch (Exception $e) {
echo "Error: " . $e->getMessage(); // 輸出 "Error: Invalid number"
}
在這個(gè)示例中,我們使用 try-catch
語句來捕獲和處理 match
中可能拋出的異常。如果 $number
不匹配任何值,我們將捕獲 Exception
并輸出相應(yīng)的錯(cuò)誤消息。