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

更新日期:01-Apr-2021

649 次浏览

开启你的 职业生涯

完成课程认证

开始
广告