在PHP中,match 是从PHP 8版本开始引入的一种新的语法结构。match用于根据表达式的值执行不同的代码块。它类似于switch语句,但使用更简洁的语法。
match语法的基本结构是:
<?php
match (表达式) {
case 值1:
// 当表达式的值等于值1时执行的代码
break;
case 值2:
// 当表达式的值等于值2时执行的代码
break;
// 更多的case语句
default:
// 当表达式的值与任何case语句都不匹配时执行的代码
}
?>
下面是一个使用match的示例:
<?php
$fruit = 'apple';
switch ($fruit) {
case 'apple':
echo 'This is an apple';
break;
case 'banana':
echo 'This is a banana';
break;
default:
echo 'Unknown fruit';
}
// 上述代码可以使用match改写为:
$fruit = 'apple';
match ($fruit) {
'apple' => echo 'This is an apple',
'banana' => echo 'This is a banana',
default => echo 'Unknown fruit',
};
?>
使用match时要注意以下几点:
match只能用于相等比较(===),不支持范围比较。
如果没有匹配的case,将会执行default代码块,如果没有default,则什么都不会执行。
每个case都需要以冒号(:)结束,而不是分号(;)。
使用match时,不需要使用break来阻止代码继续执行,每个case之间是分开的,不会互相影响。
match可以更简洁地实现根据不同值执行不同操作的逻辑。但也要注意在使用match时要符合语法规则。


渝公网安备 50024202000255号