Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Stripos + Array_filter, um Arrayelemente mit angegebenen Wörtern zu filtern

Verwenden Sie Stripos + Array_filter, um Arrayelemente mit angegebenen Wörtern zu filtern

M66 2025-05-31

In der PHP -Entwicklung müssen wir häufig Elemente in Arrays filtern, insbesondere wenn wir Stringelemente finden möchten, die bestimmte Schlüsselwörter enthalten. Zu diesem Zeitpunkt ist die Kombination von Stripos und Array_filter eine sehr praktische Lösung.

In diesem Artikel werden Sie Schritt für Schritt erforderlich, um zu verstehen, wie Sie Stripos mit Array_filter verwenden, um diese Funktion zu implementieren.

Was ist Stripos?

Stripos () ist eine Zeichenfolgefunktion in PHP, die feststellt, wo eine Zeichenfolge zuerst in einer anderen Zeichenfolge erscheint (Fall unempfindlich). Gibt den Ort zurück, falls gefunden (ab 0), und gibt falsche zurück, wenn nicht gefunden.

Die Syntax ist wie folgt:

 stripos(string $haystack, string $needle): int|false

Zum Beispiel:

 stripos("Hello World", "world"); // zurückkehren 6

Was ist Array_filter?

Array_Filter () ist eine Funktion in PHP, mit der Arrays mit Rückruffunktionen gefiltert werden. Es wird über jedes Element im Array iteriert und Elemente herausgefiltert, die nicht mit dem Rückgabewert der Rückruffunktion übereinstimmen.

Die Syntax ist wie folgt:

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array

Stripos + Array_filter -Kombination

Schauen wir uns ein praktisches Beispiel an: Wir haben ein Array, das mehrere URLs enthält, und wir möchten alle Elemente mit einem bestimmten Schlüsselwort (z. B. "Anmeldung" herausfiltern.

Beispielcode:

 <?php

$urls = [
    "https://m66.net/home",
    "https://m66.net/user/login",
    "https://m66.net/about",
    "https://m66.net/admin/login",
    "https://m66.net/contact"
];

$keyword = "login";

$filtered = array_filter($urls, function($url) use ($keyword) {
    return stripos($url, $keyword) !== false;
});

print_r($filtered);

Ausgangsergebnis:

 Array
(
    [1] => https://m66.net/user/login
    [3] => https://m66.net/admin/login
)

Wie Sie sehen können, bleiben nur die URLs, die "Login" enthalten, erhalten.

Flexible Erweiterung: Unterstützung mehrerer Schlüsselwörter unterstützen

Wenn Sie mehrere Schlüsselwörter unterstützen möchten, können Sie die Rückruffunktion geringfügig ändern:

 <?php

$keywords = ["login", "admin"];
$filtered = array_filter($urls, function($url) use ($keywords) {
    foreach ($keywords as $word) {
        if (stripos($url, $word) !== false) {
            return true;
        }
    }
    return false;
});

print_r($filtered);

Dadurch wird eine URL zurückgegeben, die entweder flexibel und leistungsstark enthält.

Abschluss

Die Verwendung von Stripos mit Array_filter ist eine einfache und effiziente Möglichkeit, das Keyword -Matching in String -Arrays zu verarbeiten. Es hat nicht nur prägnante Code und Logik, sondern ist auch für eine Vielzahl praktischer Szenarien geeignet, wie z. B. Protokollanalyse, URL -Routing -Matching, Inhaltsfilterung usw.

Sie können diese Logik weiter in eine Funktion einbeziehen, je nach Ihren Bedürfnissen zur Verbesserung der Wiederverwendbarkeit und Wartbarkeit.

Wenn Sie an dieser Art von PHP -praktischen Fähigkeiten interessiert sind, befolgen Sie bitte weitere Programmier -Tipps!