PHP8新语法:match [更骚的匿名函数操作]
PHP8 新出的一个语法很好用,就是 match 语句。match 语句跟原来的 switch 类似,不过比 switch 更加的严格和方便
原来的 switch 语句代码如下:
function getStr( $strType ){ switch( $strType ){ case 1: $str = \’one\’; break; case 2: $str = \’two\’; break; default : $str = \’error\’; } return $str;}//当输入数值 1 和 字符 \’1\’ 不会进行类型判断echo getStr(1); //oneecho getStr(\’1\’); //oneecho getStr(2); //twoecho getStr(\’2\’); //two
换成 match 语句后:
function getStr( $strType ){ return match( $strType ){ 1 => \’number one\’, \’1\’ => \’string one\’, default => \’error\’, };}//可以看出输入数值 1 跟字符 `1` 返回的值是不同的echo getStr(1); //number oneecho getStr(\’1\’); //string one
骚操作
function getStr( $strType ){ return match( $strType ){ 1 => (function(){ return \’number one\’; })(), \’1\’ => (function(){ return \’string one\’; })(), default => \’error\’, };}//虽然这种代码风格也能行的通,但是总感觉哪里怪怪的echo getStr(1); //number oneecho getStr(\’1\’); //string one
总结:PHP8 新出的语法 match 相比原来的 switch 语法更加的方便和严格
推荐学习:《PHP8教程》
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码官网:www.west.cn