在PHP中,match
是一个新的表达式,它在 PHP 8.0 版本中引入。match
用于比较一个值与多个可能的值,并返回与之匹配的第一个结果。如果没有匹配项,则会抛出一个 UnhandledMatchError
异常。
以下是一个简单的 match
示例:
$number = 2;
$result = match ($number) {
1 => "One",
2 => "Two",
3 => "Three",
default => throw new Exception("Invalid number"),
};
echo $result; // 输出 "Two"
在这个示例中,我们使用 match
来比较 $number
变量与多个可能的值。如果没有匹配项,我们抛出一个 Exception
。
要处理 match
中的错误,你可以使用 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"
}
在这个示例中,我们使用 try-catch
语句来捕获和处理 match
中可能抛出的异常。如果 $number
不匹配任何值,我们将捕获 Exception
并输出相应的错误消息。