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

相关文章