Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für neue Funktionen in PHP8: Wie verwende ich Übereinstimmungsausdrücke und Code, um die bedingte Beurteilung zu vereinfachen?

Beispiel für neue Funktionen in PHP8: Wie verwende ich Übereinstimmungsausdrücke und Code, um die bedingte Beurteilung zu vereinfachen?

王林
王林Original
2023-09-12 16:19:461032Durchsuche

Beispiel für neue Funktionen in PHP8: Wie verwende ich Übereinstimmungsausdrücke und Code, um die bedingte Beurteilung zu vereinfachen?

PHP8 ist eine wichtige Version der Programmiersprache PHP, die viele neue Funktionen und Verbesserungen einführt. Eine der neuen Funktionen sind Vergleichsausdrücke, die Entwicklern dabei helfen können, Code für bedingte Beurteilungen zu vereinfachen. In diesem Artikel stellen wir die Verwendung von Übereinstimmungsausdrücken vor, um den Prozess der bedingten Beurteilung zu vereinfachen, und geben einige praktische Beispiele.

In PHP7 und früheren Versionen verwenden wir häufig Switch-Anweisungen oder eine Reihe von If-Else-Anweisungen, um bedingte Urteile zu fällen. Diese Anweisungen können die gleiche Funktion erfüllen, führen jedoch zu Codeduplizierung und schlechter Lesbarkeit. Die Einführung von Übereinstimmungsausdrücken dient genau der Lösung dieser Probleme.

Die Syntax des Match-Ausdrucks ist der Switch-Anweisung sehr ähnlich. Sie kann den entsprechenden Codeblock basierend auf dem Wert eines Ausdrucks ausführen. Der Unterschied besteht darin, dass der Übereinstimmungsausdruck ein Ausdruck und keine Anweisung ist und einen Wert zurückgeben kann. Dadurch können wir es direkt einer Variablen oder als Rückgabewert einer Funktion zuweisen.

Das Folgende ist ein einfaches Beispiel, das zeigt, wie Übereinstimmungsausdrücke verwendet werden, um zu bestimmen, zu welchem ​​Bereich eine Zahl gehört, und um den entsprechenden numerischen Typ zurückzugeben.

function getType(int $number) {
    return match (true) {
        $number < 0 => 'negative',
        $number == 0 => 'zero',
        $number > 0 => 'positive',
    };
}

echo getType(-5);  // 输出: negative
echo getType(0);   // 输出: zero
echo getType(10);  // 输出: positive

Im obigen Beispiel haben wir eine Funktion namens getType definiert, die eine Ganzzahl als Parameter akzeptiert. Im Übereinstimmungsausdruck verwenden wir „true“ als Bedingung, da wir mehrere bedingte Beurteilungen anstelle einer einzelnen Beurteilung durchführen möchten. Anschließend verknüpfen wir jede Bedingung mit dem entsprechenden numerischen Typ mithilfe des Pfeiloperators =>.

Im tatsächlichen Einsatz können wir je nach Bedarf weitere Bedingungen hinzufügen und unterschiedliche Vorgänge ausführen. Der Übereinstimmungsausdruck wird der Reihe nach entsprechend den Bedingungen ausgewertet, bis eine übereinstimmende Bedingung gefunden oder die Standardbedingung erreicht wird.

function getPrice(string $productType) {
    return match ($productType) {
        'book' => 20,
        'clothes' => 50,
        'electronics' => 100,
        default => 0,
    };
}

echo getPrice('book');          // 输出: 20
echo getPrice('clothes');       // 输出: 50
echo getPrice('electronics');   // 输出: 100
echo getPrice('unknown');       // 输出: 0

Im obigen Beispiel haben wir eine Funktion namens getPrice definiert, die einen String-Parameter akzeptiert, der den Produkttyp darstellt. Je nach Produkttyp erstatten wir den entsprechenden Preis. Wenn der Produkttyp keinem Kriterium entsprechen kann, wird der Standardwert 0 zurückgegeben.

Zusätzlich zu der grundlegenden Verwendung in den obigen Beispielen bieten Übereinstimmungsausdrücke auch andere Funktionen, z. B. die Verwendung logischer Operatoren zum Kombinieren von Bedingungen, die Verwendung anonymer Funktionen usw. Diese Funktionen können die Flexibilität und Lesbarkeit unseres Codes weiter verbessern.

Zusammenfassend lässt sich sagen, dass uns der neue Feature-Match-Ausdruck von PHP8 eine Möglichkeit bietet, die bedingte Beurteilung zu vereinfachen und unseren Code prägnanter und lesbarer zu machen. Durch die Verwendung von Übereinstimmungsausdrücken können wir umständliche if-else-Anweisungen und wiederholten Code vermeiden und so die Entwicklungseffizienz und Codequalität verbessern. Ich hoffe, dass die Beispiele in diesem Artikel Ihnen helfen können, Match-Ausdrücke besser zu verstehen und anzuwenden.

Das obige ist der detaillierte Inhalt vonBeispiel für neue Funktionen in PHP8: Wie verwende ich Übereinstimmungsausdrücke und Code, um die bedingte Beurteilung zu vereinfachen?. 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