PHP8 新增了 match 表达式,match 和 switch 颇为相象。
与 switch 不同点是,它会像三元表达式一样求值。 与 switch 另一个不同点,它的比较是严格比较( ===)而不是松散比较(==)。
$return_value = match (subject_expression) {
single_conditional_expression => return_expression,
conditional_expression1, conditional_expression2 => return_expression,
};
match 表达式跟 switch 语句相似,但是有以下关键区别:
1. match 是表达式,所以尾部必须有 ; 。
2. match 比较分支值,使用了严格比较 (===), 而 switch 语句使用了松散比较。
3. match 表达式会返回一个值,但不是必须使用。
4. match 的分支不会像 switch 语句一样, 落空时执行下个 case。
5. match 表达式必须彻底列举所有情况。
使用举例:
$food = 'cake';
$return_value = match ($food) {
'apple' => 'This food is an apple',
'bar' => 'This food is a bar',
'cake' => 'This food is a cake',
};
var_dump($return_value);
-
PHP 函数 str_contains 判断是否包含子字符串PHP 函数 str_contains 判断是否包含子字符串
-
老版本PHP 使用 str_starts_with 和 str_ends_with如何在老版本PHP 使用 str_starts_with 和 str_ends_with
-
PHPExcel 功能强大的开源 PHP Excel 表格处理器PHPExcel 功能强大的开源 PHP Excel 表格处理器
-
PHP 函数嵌套定义行不行PHP 可以函数嵌套定义吗?
-
PHP 常用安全检查函数PHP 常用安全检查函数
-
PHP函数 map_array 学习PHP函数 map_array 学习
暂无评论,抢个沙发...