PHP8 führt Match Expressions ein, eine neue Funktion, mit der Entwickler die bedingten Urteilscode erheblich vereinfachen können. Im Vergleich zu herkömmlichen Switch- oder IF-ELSE-Anweisungen sind die Übereinstimmungsausdrücke prägnanter und lesbarer und können die Werte direkt zurückgeben, wodurch der Code logisch klarer wird.
In PHP7- und früheren Versionen verwenden Entwickler normalerweise Switch-Anweisungen oder mehrschichtige IF-ELSE, um bedingte Urteile zu fällen. Obwohl diese Methode Funktionen implementieren kann, führt sie häufig zu Code -Duplikation, hohen Wartungskosten und unzureichenden Logik.
Die Syntax eines Match -Expression ähnelt dem Switch, ist jedoch ein Ausdruck, der Werte zurückgeben kann. Hier ist ein Beispiel, das zeigt, wie die Numeritätstypen bestimmen:
Funktion GetType (int $ number) { Rückkehr Match (true) { $ nummer <0 => 'negativ', $ nummer == 0 => 'Null',, $ nummer> 0 => 'positiv',, }; } Echo Gettype (-5); // Ausgabe: negativ Echo Gettype (0); // Ausgabe: Null Echo Gettype (10); // Ausgabe: positiv
In diesem Beispiel gibt die GetType -Funktion den entsprechenden Typ basierend auf der bestandenen Nummer zurück. Mit True als Urteilsbedingung der Übereinstimmung können mehrere Zustandszweige leicht verarbeitet werden.
Neben der Beurteilung numerischer Typen können Match -Ausdrücke auch für komplexere Logik verwendet werden, z. B. die Rückgabe von Preisen basierend auf Produkttypen:
Funktion getPrice (String $ productType) { Rückgabeübereinstimmung ($ productType) { 'Buch' => 20, 'Kleidung' => 50, 'Elektronik' => 100, Standard => 0,, }; } Echo GetPrice ('Buch'); // Ausgabe: 20 Echo Getprice ('Kleidung'); // Ausgabe: 50 Echo getPrice ('Elektronik'); // Ausgabe: 100 Echo GetPrice ('unbekannt'); // Ausgabe: 0
In diesem Beispiel gibt die GetPrice -Funktion den entsprechenden Preis nach verschiedenen Produkttypen zurück, und wenn keine Bedingungen nicht übereinstimmen, beträgt der Standardwert 0.
Der Match -Expression kann nicht nur für die einfache Zustandsanpassung verwendet werden, sondern unterstützt auch Funktionen wie die Kombination von Bedingungen logischer Operatoren und die Rückgabe von Ergebnissen mithilfe anonymer Funktionen. Diese Funktionen machen den Code flexibler und erleichtern die Handhabung komplexer Geschäftslogik.
Der Match-Expression von PHP8 bietet eine effiziente und prägnante Art des bedingten Urteils, das umständliche IF-ELSE- oder Switch-Anweisungen ersetzen kann. Die Verwendung von Übereinstimmungsausdrücken kann die Code -Lesbarkeit verbessern, den doppelten Code reduzieren und die Entwicklungseffizienz verbessern. In diesem Beispiel können Entwickler schneller beginnen und Match -Ausdrücke in realen Projekten anwenden.