PHP中是否有任何 switch-case 的替代方案?
PHP在第 8 版的发布中引入了 switch-case 的替代方案。
在PHP的第 8 版发布中,引入了match()函数,它是 switch-case 的新替代方案。这是一个强大的功能,通常是最好的决定,而不是switch-case 。 match()函数的工作方式也与switch类似,即它根据传入的参数找到匹配的案例。
句法 :
$variable = match() {
somecase => 'match_value' ,
anothercase => 'match_value',
default => 'match_value',
};
例子:
$value = match(1){
1 => 'Hii..',
2 => 'Hello..',
default => 'Match not found !',
};
match()函数与 switch-case 有何不同?
- 它使用箭头符号而不是冒号。
- 它不需要 break 语句。
- 大小写用逗号而不是 break 语句分隔。
- match()的语法以分号结尾。
- 它根据提供的参数返回一些值。
- 严格的类型检查和区分大小写。
- 当没有默认值和匹配值时,会抛出错误。
- 复杂的条件实现和改进的性能。
注意:函数match()在PHP 8 及更高版本上受支持。
PHP代码:下面的例子演示了switch-case ,它将根据在switch()的参数中传递的值为变量$message赋值
PHP
PHP
'Monday',
2 => 'Tuesday',
3 => 'Wednesday',
4 => 'Thursday',
5 => 'Friday',
6 => 'Saturday',
7 => 'Sunday',
default => 'Invalid Input !',
};
echo $message;
?>
输出
Sunday
PHP代码:以下代码演示了仅在PHP 8 或更高版本中执行的match()函数。
PHP
'Monday',
2 => 'Tuesday',
3 => 'Wednesday',
4 => 'Thursday',
5 => 'Friday',
6 => 'Saturday',
7 => 'Sunday',
default => 'Invalid Input !',
};
echo $message;
?>
输出:
Sunday