Heim  >  Artikel  >  Backend-Entwicklung  >  Über die coole Funktionsweise der neuen Match-Anweisung in PHP8

Über die coole Funktionsweise der neuen Match-Anweisung in PHP8

藏色散人
藏色散人nach vorne
2021-12-17 14:26:192837Durchsuche

PHP8 neue Syntax: match [aufregendere anonyme Funktionsoperation]

PHP8 hat eine neue Syntax, die sehr nützlich ist, nämlich die Match-Anweisung. Die Match-Anweisung ähnelt der ursprünglichen Switch, ist jedoch strenger und praktischer als Switch

Der ursprüngliche Switch-Anweisungscode lautet wie folgt:

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

Nachdem er durch die Match-Anweisung ersetzt wurde:

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

Kecke Operation

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

Zusammenfassung: PHP8 neue Syntaxübereinstimmung Im Vergleich zur ursprünglichen Switch-Syntax ist sie bequemer und strenger

Empfohlenes Lernen: „PHP8-Tutorial

Das obige ist der detaillierte Inhalt vonÜber die coole Funktionsweise der neuen Match-Anweisung in PHP8. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:janrs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen