PHP8中match新语句的操作方法

本文介绍了PHP 8中新增的match语句,它与传统switch语句相比,更严格和便捷。通过实例演示了match在处理字符串和数值类型的灵活性,并探讨了其代码组织的新特点。

PHP8 新出的一个语法很好用,就是 match 语句。match 语句跟原来的 switch 类似,不过比 switch 更加的严格和方便

原来的 switch 语句代码如下:

 1 function getStr( $strType ){
 2 
 3     switch( $strType ){
 4 
 5         case 1:
 6 
 7             $str = 'one';
 8 
 9             break;
10 
11         case 2:
12 
13             $str = 'two';
14 
15             break;
16 
17         default :
18 
19             $str = 'error';
20 
21     }
22 
23     return $str;
24 
25 }
26 
27 //当输入数值 1 和 字符 '1' 不会进行类型判断
28 
29 echo getStr(1); //one
30 
31 echo getStr('1'); //one
32 
33 echo getStr(2); //two
34 
35 echo getStr('2'); //two

换成 match 语句后:

function getStr( $strType ){
    return match( $strType ){
        1 => 'number one',
        '1' => 'string one',
        default => 'error',
    };
}
//可以看出输入数值 1 跟字符 `1` 返回的值是不同的
echo getStr(1); //number one
echo getStr('1'); //string one

 1 function getStr( $strType ){
 2     return match( $strType ){
 3         1 => (function(){
 4             return 'number one';
 5         })(),
 6         '1' => (function(){
 7             return 'string one';
 8         })(),
 9         default => 'error',
10     };
11 }
12 //虽然这种代码风格也能行的通,但是总感觉哪里怪怪的
13 
14 echo getStr(1); //number one
15 echo getStr('1'); //string one

 PHP8 新出的语法 match 相比原来的 switch 语法更加的方便和严格

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑆箫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值