博客
关于我
PHP8中match新语句的操作方法
阅读量:793 次
发布时间:2023-02-28

本文共 980 字,大约阅读时间需要 3 分钟。

PHP 8 引入的 match 语法是一个非常有趣的新特性。它在很多方面都比传统的 switch 语法更严格和更方便。

match 语法的优势

传统的 switch 语法虽然灵活,但在类型判断上并不严格。例如:

function getStr($strType) {    switch ($strType) {        case 1:            $str = 'one';            break;        case 2:            $str = 'two';            break;        default:            $str = 'error';    }    return $str;}

这里,输入数值 1 和字符 '1' 会返回相同的结果。然而,在 PHP 8 中,match 语法可以更明确地区分这些类型:

function getStr($strType) {    return match($strType) {        1 => 'number one',        '1' => 'string one',        default => 'error',    };}

这样,输入数值 1 和字符 '1' 会有不同的返回值。

match 语法的使用场景

虽然 match 语法提供了更强的类型判断功能,但它并不意味着所有情况都要使用它。例如:

function getStr($strType) {    return match($strType) {        1 => (function() {            return 'number one';        })(),        '1' => (function() {            return 'string one';        })(),        default => 'error',    };}

这种代码虽然理论上可以工作,但总感觉有些不自然。因此,在实际开发中,应该根据项目需求选择最合适的语法。

总结

PHP 8 的 match 语法在类型判断上更加严格和方便,但它并不适用于所有场景。在使用时,需要根据实际需求进行选择。

转载地址:http://yytfk.baihongyu.com/

你可能感兴趣的文章
OSG学习:纹理映射(三)——立方图纹理映射
查看>>
OSG学习:纹理映射(二)——一维/二维/简单立方图纹理映射
查看>>
OSG学习:纹理映射(五)——计算纹理坐标
查看>>
OSG学习:纹理映射(六)——灯光
查看>>
OSPF 四种设备角色:IR、ABR、BR、ASBR
查看>>
OSPF不能发现其他区域路由时,该怎么办?
查看>>
OSPF两个版本:OSPFv3与OSPFv2到底有啥区别?
查看>>
SQL Server 存储过程
查看>>
OSPF在大型网络中的应用:高效路由与可扩展性
查看>>
OSPF技术连载18:OSPF网络类型:非广播、广播、点对多点、点对多点非广播、点对点
查看>>
OSPF技术连载19:深入解析OSPF特殊区域
查看>>
SQL Server 复制 订阅与发布
查看>>
OSPF技术连载20:OSPF 十大LSA类型,太详细了!
查看>>
OSPF技术连载21:OSPF虚链路,现代网络逻辑连接的利器!
查看>>
OSPF技术连载22:OSPF 路径选择 O > O IA > N1 > E1 > N2 > E2
查看>>
Padding
查看>>
paddlehub安装及对口罩检测
查看>>
paddle的两阶段基础算法基础
查看>>
SpringBoot中重写addCorsMapping解决跨域以及提示list them explicitly or consider using “allowedOriginPatterns“ in
查看>>
PageHelper 解析及实现原理
查看>>