Wie durchsucht man mithilfe eines Arrays in PHP effizient eine Zeichenfolge nach mehreren Mustern?

Susan Sarandon
Freigeben: 2024-11-25 17:05:16
Original
389 Leute haben es durchsucht

How to Efficiently Search a String for Multiple Patterns Using an Array in PHP?

So durchsuchen Sie eine Zeichenfolge mithilfe eines Arrays nach mehreren Mustern

Die strpos-Funktion ist ein leistungsstarkes Tool zum Suchen nach einer bestimmten Teilzeichenfolge innerhalb einer Zeichenfolge. Allerdings kann immer nur nach einem einzelnen Muster gesucht werden. Was ist, wenn Sie überprüfen müssen, ob eine Zeichenfolge Muster aus einer Liste enthält?

Betrachten Sie das folgende Beispiel:

$find_letters = ['a', 'c', 'd'];
$string = 'abcdefg';
Nach dem Login kopieren

Wenn wir versuchen, die Zeichenfolge nach einer Reihe von Buchstaben zu durchsuchen, verwenden Sie: strpos, es wird nicht funktionieren. Dies liegt daran, dass strpos als zweites Argument einen String und kein Array erwartet.

Erstellen einer Funktion für die Array-Suche mit strpos

Um dieses Problem zu lösen, können wir erstellen Eine benutzerdefinierte Funktion, die ein Array von Mustern und eine zu durchsuchende Zeichenfolge akzeptiert. Die Funktion durchläuft das Array, ruft strpos für jedes Muster auf und gibt die Position der ersten gefundenen Übereinstimmung zurück:

function strposa(string $haystack, array $needles, int $offset = 0): bool
{
    foreach ($needles as $needle) {
        if (strpos($haystack, $needle, $offset) !== false) {
            return true; // stop on first true result
        }
    }
    return false;
}
Nach dem Login kopieren

Diese Funktion kann wie folgt verwendet werden:

$string = 'This string contains word "cheese" and "tea".';
$array = ['burger', 'melon', 'cheese', 'milk'];
var_dump(strposa($string, $array)); // will return true, since "cheese" has been found
Nach dem Login kopieren

Fazit

Durch die Erstellung einer benutzerdefinierten Funktion, die die strpos-Funktionalität umschließt, können wir jetzt mithilfe eines Arrays effizient eine Zeichenfolge nach mehreren Mustern durchsuchen. Diese Technik kann in einer Vielzahl von Szenarien nützlich sein, beispielsweise bei der Validierung von Benutzereingaben oder der Durchführung einer Textanalyse.

Das obige ist der detaillierte Inhalt vonWie durchsucht man mithilfe eines Arrays in PHP effizient eine Zeichenfolge nach mehreren Mustern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage