Aktueller Standort: Startseite> Neueste Artikel> Wie kann man Array_Diff () verwenden, um bestimmte Elemente des Whitelisten elegant auszuschließen, um die Einfachheit und Lesbarkeit des Codes zu verbessern?

Wie kann man Array_Diff () verwenden, um bestimmte Elemente des Whitelisten elegant auszuschließen, um die Einfachheit und Lesbarkeit des Codes zu verbessern?

M66 2025-07-07

Während des Entwicklungsprozesses begegnen wir häufig auf Whitelisting -Situationen, dh bestimmte Elemente, die nicht im Whitelist übergeben und ausgeschlossen werden können. In PHP können wir die Funktion array_diff () verwenden, um bestimmte Elemente der Whitelisten elegant auszuschließen, wodurch die Einfachheit und Lesbarkeit des Codes verbessert wird.

Array_Diff () ist eine sehr nützliche Funktion, die ein Array zurückgibt, das aus allen Elementen im ursprünglichen Array besteht, jedoch dieselben Elemente wie die in einem oder mehreren anderen Arrays ausschließt. In einem Whitelist -Szenario verwenden wir normalerweise Array_Diff () , um unerwünschte Elemente von zulässigen Gegenständen (Whitelist) auszuschließen.

Beispiel: Ausschließen angegebene Elemente von Whitelist mit Array_Diff () ausschließen

Angenommen, wir haben ein Whitelist -Array mit mehreren URLs, von denen wir einige bestimmte URLs ausschließen möchten.

 <?php
// Whitelist Array
$whitelist = [
    "http://m66.net/page1",
    "http://m66.net/page2",
    "http://m66.net/page3",
    "http://m66.net/page4",
];

// Müssen ausgeschlossen werden URL Array
$excludeUrls = [
    "http://m66.net/page2",
    "http://m66.net/page4",
];

// verwenden array_diff() Ausschließen angegeben URL
$filteredWhitelist = array_diff($whitelist, $excludeUrls);

// Ausschluss ausschließend Whitelist
print_r($filteredWhitelist);
?>

Ausgabe:

 Array
(
    [0] => http://m66.net/page1
    [2] => http://m66.net/page3
)

erklären:

  1. Definieren eines Whitelist : Wir definieren zuerst ein Whitelist -Array, das mehrere URLs $ Whitelist enthält.

  2. Ausgeschlossenes URL -Array : Wir definieren dann ein Array $ exkludeUlls, das die URL enthält, die wir ausschließen möchten.

  3. Verwenden Sie Array_Diff () , um angegebene Elemente auszuschließen : Durch Aufrufen von Array_Diff () können wir alle URLs in $ exkludeurls von $ whitelist ausschließen und ein neues $ filtered Whitelist erhalten, das die Whitelist ist, die wir ausgeschlossen haben.

  4. Ausgabeergebnis : Schließlich verwenden wir die Funktion print_r (), um die ausgeschlossene Whitelist auszugeben.

Optimieren Sie die Lesbarkeit des Codes

Einer der größten Vorteile bei der Verwendung von Array_Diff () besteht darin, dass der Code prägnanter und einfach zu lesen ist. Angenommen, Sie müssen mehrere Elemente aus einem größeren Array ausschließen und das Array nacheinander manuell durchqueren und Elemente zu beseitigen, wird sehr umständlich erscheinen. Array_diff () kann diese Aufgabe mit einer einfachen Codezeile erledigen und Ihr Code leichter zu verstehen und zu warten.

Dinge zu beachten

  • Array_Diff () vergleicht Elemente in einem Array eher auf Werten als auf Schlüsseln. Daher muss im Umgang mit Schlüsselwertpaaren geprüft werden, ob der Schlüssel auf ein assoziatives Array aufbewahrt oder umgewandelt werden muss.

  • Array_Diff () gibt ein neues Array zurück, und das ursprüngliche Array ändert sich nicht. Wenn Sie das vorhandene Array ändern müssen, können Sie das Ergebnis dem ursprünglichen Array neu zuweisen.