The PHP match expression is used for the identity check of a value. It is similar to the switch statement i.e. it matches the expression with its alternative values. The match expressions are available in PHP 8.0.0.
The match expression compares the value using a strict comparison operator (===) whereas the switch statement uses a loose comparison operator (==).
Syntax:
return_value = match(expr) { key1 => val1, key2 => val2, ... }
Note: The match expression must be ended with semicolons.
Example 1: The following code demonstrates the match expression in PHP.
PHP
<?php $sub = 'PHP' ; $val = match ( $sub ) { 'HTML' => 'HTML Course' , 'CSS' => 'CSS Course' , 'PHP' => 'PHP Course' , 'JavaScript' => 'JS Course' , 'WebDev' => 'Complete Web Development' }; var_dump( $val ); ?> |
Output:
string(10) "PHP Course"
Example 2: The following code is another example of a PHP match expression.
PHP
<?php $marks = 78; $res = match (true) { $marks < 33 => 'Fail' , $marks < 45 => 'Third Division' , $marks < 60 => 'Second Division' , $marks < 75 => 'First Division' , $marks <= 100 => 'Distinction' }; var_dump( $res ); ?> |
Output:
string(11) "Distinction"
Reference: https://www.php.net/manual/en/control-structures.match.php