在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
并输出相应的错误消息。