PHP8新語(yǔ)法:match [更騷的匿名函數(shù)操作]
PHP8 新出的一個(gè)語(yǔ)法很好用,就是 match 語(yǔ)句。match 語(yǔ)句跟原來(lái)的 switch 類似,不過(guò)比 switch 更加的嚴(yán)格和方便
原來(lái)的 switch 語(yǔ)句代碼如下:
function getStr( $strType ){ switch( $strType ){ case 1: $str = 'one'; break; case 2: $str = 'two'; break; default : $str = 'error'; } return $str;}//當(dāng)輸入數(shù)值 1 和 字符 '1' 不會(huì)進(jìn)行類型判斷echo getStr(1); //oneecho getStr('1'); //oneecho getStr(2); //twoecho getStr('2'); //two換成 match 語(yǔ)句后:
function getStr( $strType ){ return match( $strType ){ 1 => 'number one', '1' => 'string one', default => 'error', };}//可以看出輸入數(shù)值 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', };}//雖然這種代碼風(fēng)格也能行的通,但是總感覺(jué)哪里怪怪的echo getStr(1); //number oneecho getStr('1'); //string one總結(jié):PHP8 新出的語(yǔ)法 match 相比原來(lái)的 switch 語(yǔ)法更加的方便和嚴(yán)格
推薦學(xué)習(xí):《PHP8教程》