Heim  >  Artikel  >  Backend-Entwicklung  >  Der Match-Ausdruck in PHP8 macht Ihren Code einfach und leistungsstark

Der Match-Ausdruck in PHP8 macht Ihren Code einfach und leistungsstark

WBOY
WBOYOriginal
2023-06-21 10:43:422505Durchsuche

Kürzlich wurde PHP8 offiziell veröffentlicht und der in der neuen Version hinzugefügte Match-Ausdruck ist unter Entwicklern zu einem heißen Thema geworden. Die Match-Anweisung kann unseren PHP-Code prägnanter und leistungsfähiger machen. In diesem Artikel werden Ihnen die Verwendung und die Vorteile von Match-Ausdrücken vorgestellt.

1. Was ist der Übereinstimmungsausdruck?

Match-Ausdruck ist eine neue Sprachstruktur in PHP8, ähnlich der Switch-Anweisung. Seine Hauptfunktion besteht darin, aus mehreren möglichen Situationen eine passende Bedingung auszuwählen.

Die Form der Übereinstimmungsanweisung ist wie folgt:

match ($x) {
    value1 => statement1,
    value2 => statement2,
    value3 => statement3,
    ...
    default => default_statement
}

Unter diesen ist $x der Wert des Ausdrucks, Wert1, Wert2, Wert3 usw. sind mögliche Übereinstimmungswerte, während Anweisung1, Anweisung2, Anweisung3 usw. dies sind entsprechend jedem passenden Fall ausgeführt.

Im Gegensatz zur Switch-Anweisung muss die Match-Anweisung nicht in jedem Fall break schreiben, und der übereinstimmende Wert kann ein beliebiger Ausdruck oder eine beliebige Variable sein.

2. Vorteile von Match-Ausdrücken

1. Ausdrucksstärker

Vor PHP8 verwendeten wir normalerweise if-else-Anweisungen, um bedingte Urteile zu fällen. Aber eine große Anzahl verschachtelter und komplexer redundanter Codes machen den Code immer schwieriger zu verstehen. Die match-Anweisung kann die Lesbarkeit und Wartbarkeit des Codes erheblich verbessern.

2. Sicherer

Der Übereinstimmungsausdruck verwendet den strikten AND-Vergleichsoperator (===), was bedeutet, dass er sicherer ist. Da keine schwache Typkonvertierung erfolgt, werden einige implizite Fehler vermieden.

3. Effizienter

In PHP8 ist die zugrunde liegende Implementierung der Match-Anweisung die Konstruktion und Suche der Hash-Tabelle. Im Vergleich zu if-else-Anweisungen wird match schneller ausgeführt und verbessert daher die Leistung von PHP.

3. Anwendungsszenarien von Match-Ausdrücken

In welchen Szenarien sollten Match-Ausdrücke verwendet werden? Zum besseren Verständnis finden Sie hier einige Beispiele.

1. Filtern Sie das Array

Verwenden Sie die Match-Anweisung, um die Elemente im Array einfach zu filtern, z. B. um nur bestimmte Elemente beizubehalten. Der Code lautet wie folgt:

$filtered = array_filter($array, fn($value) => match ($value) {
    'apple', 'orange' => true,
    default => false,
});

2. Mehrere Übereinstimmungsbedingungen

Übereinstimmungsausdruck kann problemlos mehrere Übereinstimmungsbedingungen verarbeiten, z. B. die Auswahl der ersten geraden Zahl unter 1, 2, 4 und 6. Der Code lautet wie folgt:

$even = match (true) {
    ($value % 2 == 0 && $value > 0) => $value,
    ($value % 2 == 0 && $value < 0) => -$value,
    ($value % 2 == 1 && $value > 0) => $value + 1,
    ($value % 2 == -1 && $value < 0) => -$value - 1,
    default => 0,
};

3. Sprachlokalisierung

Übereinstimmungsausdrücke können bei der Sprachlokalisierung verwendet werden, um beispielsweise die entsprechende Sprachversion entsprechend dem Gebietsschema des Benutzers zurückzugeben. Der Code lautet wie folgt:

$localized = match ($locale) {
    'en_US', 'en_GB' => 'Hello',
    'fr_FR', 'fr_CA' => 'Bonjour',
    'zh_CN', 'zh_TW' => '你好',
    default => 'Hello',
};

4. Zusammenfassung

Das Hinzufügen von Übereinstimmungsausdrücken in PHP8 kann uns helfen, einfachen und leistungsstarken Code zu schreiben, wodurch die Lesbarkeit und Wartbarkeit des Codes erheblich verbessert wird. Darüber hinaus sind Match-Ausdrücke sicherer und effizienter als if-else-Anweisungen.

In der tatsächlichen Entwicklung können wir Übereinstimmungsausdrücke flexibel entsprechend verschiedenen Anwendungsszenarien verwenden, um den Code zu vereinfachen und die Effizienz zu verbessern.

Das obige ist der detaillierte Inhalt vonDer Match-Ausdruck in PHP8 macht Ihren Code einfach und leistungsstark. 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