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 $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 $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