Heim >Backend-Entwicklung >PHP-Tutorial >Verwenden Sie die Funktion str_contains() in PHP8, um einen schnellen String-Abgleich zu erreichen

Verwenden Sie die Funktion str_contains() in PHP8, um einen schnellen String-Abgleich zu erreichen

王林
王林Original
2023-05-17 18:31:361809Durchsuche

Mit der Entwicklung des Internets ist die String-Verarbeitung zu einer häufigen Aufgabe in der Programmierung geworden. Um das Problem der Zeichenfolgenübereinstimmung zu lösen, hat PHP8 eine neue Funktion str_contains() eingeführt, die schnell zurückgeben kann, ob eine Zeichenfolge eine bestimmte Zeichenfolge enthält. Diese Funktion ist ein sehr nützliches Werkzeug für Entwickler, die häufig Zeichenfolgenabgleiche durchführen müssen.

1. Grundlegende Verwendung der Funktion str_contains()
str_contains() wird verwendet, um zu bestimmen, ob eine Zeichenfolge eine bestimmte Zeichenfolge enthält. Ihre Syntax lautet wie folgt:

bool str_contains( string $haystack , string $needle )
wo, $haystack stellt die ursprüngliche Zeichenfolge dar und $needle stellt die zu erkennende Zeichenfolge dar. Wenn die ursprüngliche Zeichenfolge die angegebene Zeichenfolge enthält, gibt die Funktion „true“ zurück, andernfalls gibt sie „false“ zurück.

Hier sind einige Beispiele:

Beispiel 1:

$str1 = "Hello World!";
if (str_contains($str1, "World")) {

echo "The string contains the word 'World'";

} else {

echo "The string does not contain the word 'World'";

}

The Im Beispiel ist $haystack „Hello World!“ und $needle ist „World“. Da $haystack $needle enthält, gibt die Funktion true zurück und gibt die Zeichenfolge „Die Zeichenfolge enthält das Wort ‚World‘“ aus.

Beispiel 2:

$str2 = "Hello World!";
if (str_contains($str2, "Universe")) {

echo "The string contains the word 'Universe'";

} else {

echo "The string does not contain the word 'Universe'";

}

$haystack ist in diesem Beispiel „Hallo Welt!“, $needle ist „Universum“. Da $haystack kein $needle enthält, gibt die Funktion false zurück und gibt die Zeichenfolge „Die Zeichenfolge enthält nicht das Wort ‚Universum‘“ aus.

2. Vorteile der Funktion str_contains()
Bisher gab es in PHP bereits die Funktionen strstr() und strpos(), mit denen Teilstrings in Strings gefunden und deren Positionen zurückgegeben werden. Die Funktion str_contains() bietet jedoch die folgenden Vorteile:

  1. Prägnanterer Code
    Mit der Funktion str_contains() ist nur eine Codezeile erforderlich, um die String-Matching-Aufgabe abzuschließen. Zum Beispiel:

if (str_contains($str, "needle")) {

// Code to execute if the string contains "needle"

}

Im Vergleich dazu müssen Sie bei Verwendung der Funktion strstr() oder strpos() eine if-bedingte Beurteilung der Rückgabe durchführen Dann kann festgestellt werden, ob die Übereinstimmung erfolgreich ist.

  1. Intuitiverer Code
    Die Benennung der Funktion str_contains() ist sehr intuitiv und ihre Verwendung entspricht eher den natürlichen Gewohnheiten von Programmierern. Im Vergleich zu anderen Funktionen müssen Entwickler, die diese Funktion verwenden, das Funktionsdokument nicht lesen, um die entsprechenden Parameterwerte zu finden, und sie ist bei direkter Verwendung besser erkennbar.
  2. Höhere Leistung
    Nach dem Test ist die Leistung der Funktion str_contains() mit der vorherigen String-Matching-Funktion vergleichbar oder sogar besser. Bei großen Datenmengen kann die Funktion str_contains() eine schnellere Matching-Geschwindigkeit ermöglichen, da ihre interne Implementierung einen effizienteren Algorithmus verwendet.

3. So migrieren Sie das Projekt zur Verwendung der Funktion str_contains()
Wenn Sie die Funktion str_contains() in Ihrem Projekt verwenden möchten, müssen Sie sicherstellen, dass die PHP-Version auf 8.0 oder höher aktualisiert wurde. Sobald das Upgrade abgeschlossen ist, müssen Sie die Speicherorte in Ihrem Projekt ändern, an denen die Funktionen strstr() oder strpos() verwendet werden.

Zunächst müssen Sie den Standort auswählen, der aktualisiert werden soll, basierend auf der tatsächlichen Situation des Projekts. Wenn Sie die Funktion in einer großen Codemenge verwenden müssen, können Sie die Such- und Ersetzungsfunktion verwenden, um den alten Funktionsaufruf in den neuen Funktionsaufruf zu ändern.

Ändern Sie beispielsweise den Aufruf der Funktion $strstr():

if (strstr($haystack, $needle)) {

// ...

}

in den Aufruf der Funktion $str_contains():

if (str_contains($ haystack, $needle)) {

// ...

}

Auf diese Weise kann Ihr Projekt mit der Verwendung der Funktion str_contains() beginnen.

4. Fazit: Die Funktion str_contains() ist eine der in PHP8 eingeführten String-Matching-Funktionen. Sie bietet eine stärkere Leistung und ist prägnanter und klarer zu verwenden. Wenn Sie noch die Funktion strstr() oder strpos() verwenden, empfiehlt es sich, bei Bedarf aktiv auf die Funktion str_contains() zu migrieren.

Das obige ist der detaillierte Inhalt vonVerwenden Sie die Funktion str_contains() in PHP8, um einen schnellen String-Abgleich zu erreichen. 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