Sintaks baharu PHP8: padankan [operasi fungsi tanpa nama yang lebih menarik]
PHP8 mempunyai sintaks baharu yang sangat berguna, iaitu pernyataan padanan. Pernyataan padanan adalah serupa dengan suis asal, tetapi lebih ketat dan mudah daripada suis
Kod penyataan suis asal adalah seperti berikut:
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); //one echo getStr('1'); //one echo getStr(2); //two echo getStr('2'); //two
Selepas digantikan dengan pernyataan padanan:
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
Operasi saucy
function getStr( $strType ){ return match( $strType ){ 1 => (function(){ return 'number one'; })(), '1' => (function(){ return 'string one'; })(), default => 'error', }; } //虽然这种代码风格也能行的通,但是总感觉哪里怪怪的 echo getStr(1); //number one echo getStr('1'); //string one
Ringkasan: Padanan sintaks baharu PHP8 lebih mudah dan ketat daripada sintaks suis asal
Kajian yang disyorkan: "Tutorial PHP8》
Atas ialah kandungan terperinci Mengenai operasi hebat kenyataan perlawanan baharu dalam PHP8. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!