PHP 8 中的匹配表达式
匹配表达式是 PHP 8 中新增的一项特性。它与 switch-case 语句非常类似,但它提供了更安全的语义。
与 switch-case 语句的“case 和 break”结构不同,匹配表达式并不使用这种结构。它支持联合条件,并返回一个值,而不是进入一个新代码块。
由于匹配表达式是一种表达式,所以我们可以将匹配结果存储在一个变量中。
与 switch 一样,匹配表达式不需要 break 语句。它仅支持单行表达式。
示例:使用 Switch 语句的 PHP 7
<?php switch (1.0) { case '1.0': $result = "Hello World!"; break; case 1.0: $result = "Looks good"; break; } echo $result; ?>
输出
Hello World!
示例:使用 PHP 8 匹配表达式,上面的 PHP 7 代码
<?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
广告