Match expression is a new feature that is added in PHP 8. It is very much similar to switch-case statements, but it provides more safe semantics.
Match expression does not use the 'case and break' structure of switch-case statements. It supports joint conditions, and it returns a value rather than entering a new code block.
We can store match results in a variable because it is an expression.
Match expression does not need a break statement like a switch. It supports only single-line expression.
Example: PHP 7 Using Switch Statement
<?php switch (1.0) { case '1.0': $result = "Hello World!"; break; case 1.0: $result = "Looks good"; break; } echo $result; ?>
Output
Hello World!
Example: Above PHP 7 Code Using PHP 8 Match Expression
<?php echo match (1.0) { '1.0' => "Hello World!", 1.0 => "Looks Good!", }; ?>
Output
Looks Good!
Example: Using PHP 8 Match Expression
<?php echo match (2) { 1 => 'Company', 2 => 'Department', 3 => 'Employee', }; ?>
Output
Employee