PHP 8 中的匹配表达式
phpserver side programmingprogramming更新于 2025/8/5 3:52:17
匹配表达式是 PHP 8 中新增的功能。它与 switch-case 语句非常相似,但提供了更安全的语义。
匹配表达式不使用 switch-case 语句的"case 和 break"结构。它支持联合条件,并且返回一个值而不是进入新的代码块。
由于匹配表达式是一个表达式,因此我们可以将其存储在变量中。
匹配表达式不需要像 switch 那样的 break 语句。它只支持单行表达式。
示例:PHP 7 使用 Switch 语句
<?php
switch (1.0) {
case '1.0':
$result = "Hello World!";
break;
case 1.0:
$result = "Looks good";
break;
}
echo $result;
?>
输出
Hello World!
示例:上述 PHP 7 代码使用 PHP 8 匹配表达式
<?php
echo match (1.0) {
'1.0' => "Hello World!",
1.0 => "Looks Good!",
};
?>
输出
Looks Good!
示例:使用 PHP 8 匹配表达式
<?php
echo match (2) {
1 => 'Company',
2 => 'Department',
3 => 'Employee',
};
?>
输出
Employee

