Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich mit dem Match-Ausdruck von PHP8 präziser mit mehreren Bedingungen umgehen?

Wie kann ich mit dem Match-Ausdruck von PHP8 präziser mit mehreren Bedingungen umgehen?

WBOY
WBOYOriginal
2023-10-21 08:52:55503Durchsuche

Wie kann ich mit dem Match-Ausdruck von PHP8 präziser mit mehreren Bedingungen umgehen?

Wie kann man mit dem Match-Ausdruck von PHP8 präziser mit mehreren Bedingungen umgehen?

PHP8 führt einen neuen Ausdruck ein – den Match-Ausdruck, der bei der Verarbeitung mehrerer Bedingungen präziser und intuitiver ist als die vorherige if-elseif-else-Anweisung. Match-Ausdrücke verwenden eine neue Syntaxstruktur, die das Abgleichen und Verarbeiten von Werten erleichtert.

Die grundlegende Syntax des Match-Ausdrucks lautet wie folgt:

$result = match ($value) {
    $condition1 => $result1,
    $condition2 => $result2,
    ...
    $conditionN => $resultN,
    default => $defaultResult,
};

Mit dieser Syntax können wir mehrere Bedingungen in einer Codezeile verarbeiten und basierend auf unterschiedlichen Bedingungen unterschiedliche Ergebnisse zurückgeben. Im Folgenden veranschaulichen wir anhand mehrerer spezifischer Beispiele, wie Sie mithilfe von Match-Ausdrücken mehrere Bedingungen präzise verarbeiten können.

Beispiel 1: Geben Sie die entsprechende Willkommensnachricht basierend auf der Anmeldeidentität des Benutzers zurück

$userType = getUserType();

$welcomeMessage = match ($userType) {
    'admin' => '欢迎管理员!',
    'user' => '欢迎普通用户!',
    'guest' => '欢迎游客!',
    default => '欢迎访问!',
};

echo $welcomeMessage;

In diesem Beispiel verwenden wir den Match-Ausdruck, um die entsprechende Willkommensnachricht basierend auf der Anmeldeidentität des Benutzers zurückzugeben. Abhängig vom Wert von $userType gibt der Match-Ausdruck unterschiedliche Ergebnisse zurück.

Beispiel 2: Berechnen Sie den Rabattpreis der Bestellung basierend auf dem Produkttyp

$productType = getProductType();

$discountPrice = match ($productType) {
    '电子产品' => $orderPrice * 0.8,
    '服装鞋包' => $orderPrice * 0.9,
    '食品饮料' => $orderPrice * 0.95,
    default => $orderPrice,
};

echo '折扣后的价格为:' . $discountPrice;

In diesem Beispiel verwenden wir den Match-Ausdruck, um den Rabattpreis der Bestellung basierend auf dem Produkttyp zu berechnen. Abhängig von den verschiedenen $productType-Werten gibt der Match-Ausdruck den entsprechenden Rabattpreis zurück.

Beispiel 3: Verarbeiten des Statuscodes der HTTP-Anfrage

$httpStatusCode = getHttpStatusCode();

$message = match ($httpStatusCode) {
    200 => '请求成功',
    301 => '永久重定向',
    404 => '页面不存在',
    500 => '服务器错误',
    default => '未知状态',
};

echo '状态码' . $httpStatusCode . ':' . $message;

In diesem Beispiel verwenden wir den Match-Ausdruck, um die entsprechenden Informationen basierend auf dem Statuscode der HTTP-Anfrage zurückzugeben. Abhängig von den unterschiedlichen $httpStatusCode-Werten gibt der Match-Ausdruck unterschiedliche Meldungen zurück.

Wie Sie dem obigen Beispiel entnehmen können, kann die Verwendung von Match-Ausdrücken mehrere Bedingungen präzise verarbeiten und entsprechende Ergebnisse basierend auf unterschiedlichen Bedingungen zurückgeben. Es eliminiert viele if-elseif-else-Anweisungen und macht den Code klarer und lesbarer.

Obwohl Match-Ausdrücke bei der Verarbeitung mehrerer Bedingungen bestimmte Vorteile haben, ist zu beachten, dass die von Match-Ausdrücken übereinstimmenden Bedingungen Werte und keine Ausdrücke sein müssen. Darüber hinaus ist der Standardzweig des Match-Ausdrucks optional und gibt null zurück, wenn keine Bedingung erfüllt ist.

Kurz gesagt, durch den Match-Ausdruck von PHP8 können wir mehrere Bedingungen präziser verarbeiten, wodurch der Code präziser und lesbarer wird. Es ist eine gute Wahl für PHP-Entwickler, wenn sie mit mehreren bedingten Anweisungen arbeiten.

Das obige ist der detaillierte Inhalt vonWie kann ich mit dem Match-Ausdruck von PHP8 präziser mit mehreren Bedingungen umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn