Heim > Backend-Entwicklung > PHP-Tutorial > Ist strposa eine effizientere Alternative zu strpos für die Suche nach mehreren Zeichenfolgen in PHP?

Ist strposa eine effizientere Alternative zu strpos für die Suche nach mehreren Zeichenfolgen in PHP?

Patricia Arquette
Freigeben: 2024-11-25 17:33:15
Original
199 Leute haben es durchsucht

Is strposa a More Efficient Alternative to strpos for Multiple String Searches in PHP?

Utilitaristische Strpos- und Array-basierte Nadelsuche

Bei der Suche nach mehreren Zeichenfolgen innerhalb einer Zeichenfolge funktioniert die integrierte PHP-Funktion strpos möglicherweise nicht genügen. Um dieses Problem zu beheben, schlägt ein Snippet von php.net eine benutzerdefinierte Funktion, strposa, vor, die effizient das erste Vorkommen einer beliebigen Zeichenfolge aus einem bestimmten Array innerhalb einer angegebenen Zeichenfolge findet.

Implementierung von strposa

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

Anwendungsbeispiel

Bedenken Sie das string:

$string  = 'Whis string contains word "cheese" and "tea".';
Nach dem Login kopieren

Und ein Array von Strings:

$array  = ['burger', 'melon', 'cheese', 'milk'];
Nach dem Login kopieren

Mit strposa:

if (strposa($string, $array, 1)) {
    echo 'true';
} else {
    echo 'false';
}
Nach dem Login kopieren

Dies gibt true aus, da der String eine Nadel aus dem enthält Array, nämlich „Käse“.

Verbessert strposa

Eine aktualisierte Version von strposa optimiert die Leistung, indem die Suche bei der ersten Nadelübereinstimmung beendet wird. Dies erhöht die Effizienz bei der Suche nach mehreren Nadeln im Heuhaufen.

Das obige ist der detaillierte Inhalt vonIst strposa eine effizientere Alternative zu strpos für die Suche nach mehreren Zeichenfolgen in PHP?. 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