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!