In PHP wird die Funktion array_diff () verwendet, um zwei oder mehr Arrays zu vergleichen und ein Array zurückzugeben, das alle Elemente enthält, die im ersten Array, jedoch nicht in den anderen Arrays, vorhanden sind. Diese Funktion ist sehr nützlich, wenn Sie alle Elemente, die in einem anderen Array existieren, von einem Array entfernen müssen.
Die grundlegende Syntax der Funktion array_diff () lautet wie folgt:
array_diff(array $array1, array ...$arrays): array
$ array1 : Das erste Array, das mit anderen Arrays verglichen wird.
$ arrays : Ein oder mehrere Arrays, die mit $ Array1 verglichen werden.
Diese Funktion gibt ein Array zurück, das alle Elemente in $ array1 enthält, die in anderen Arrays nicht vorhanden sind.
Hier ist ein einfaches Beispiel, das zeigt, wie Sie Array_Diff () verwenden, um zwei Arrays zu vergleichen und Elemente zurückzugeben, die im ersten Array vorhanden sind, jedoch nicht im zweiten Array:
<?php
$array1 = array(1, 2, 3, 4, 5);
$array2 = array(4, 5, 6, 7, 8);
$result = array_diff($array1, $array2);
print_r($result);
?>
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Im obigen Beispiel gibt Array_Diff () ein Element zurück, das im Array $ array1 vorhanden ist, aber in $ array2 nicht existiert. Das heißt, Elemente 1, 2, 3 sind die einzigen Elemente in $ Array1 , während 4, 5 von $ array2 überschrieben werden.
Angenommen, Sie haben ein Array mit Benutzerinformationen und müssen einige vorhandene Benutzer davon ausschließen. Sie können Array_Diff () verwenden, um dies zu erreichen:
<?php
$userList = array("Alice", "Bob", "Charlie", "David");
$blockedUsers = array("Charlie", "David");
$activeUsers = array_diff($userList, $blockedUsers);
print_r($activeUsers);
?>
Array
(
[0] => Alice
[1] => Bob
)
In diesem Beispiel werden nur nicht blockierte Benutzer im $ ActiveUsers -Array beibehalten, und Charlie und David sind ausgeschlossen.
Wenn Sie mehrere Arrays vergleichen müssen, können Sie mehrere Arrays an die Funktion array_diff () übergeben, und das Ergebnis ist das einzige Element in allen Arrays, die im ersten Array vorhanden sind:
<?php
$array1 = array("apple", "banana", "cherry");
$array2 = array("banana", "cherry", "date");
$array3 = array("cherry", "date", "elderberry");
$result = array_diff($array1, $array2, $array3);
print_r($result);
?>
Array
(
[0] => apple
)
In diesem Beispiel erscheint "Apple" nur in $ array1 , während andere Elemente "Banane" , "Cherry" , "Datum" in anderen Arrays existieren, so dass diese Elemente ausgeschlossen sind.
Nehmen wir an, Sie entwickeln ein System, in dem Benutzer Inhalte hochladen, mehrere URLs und möchten Links zu bestimmten Domain -Namen ausschließen. Sie können Ihnen dabei helfen, dies durch Array_Diff () zu erreichen:
<?php
$urls = array("https://www.example.com", "https://m66.net/about", "https://www.example.com/contact", "https://m66.net/home");
$excludeUrls = array("https://www.example.com");
$filteredUrls = array_diff($urls, $excludeUrls);
print_r($filteredUrls);
?>
Array
(
[1] => https://m66.net/about
[3] => https://m66.net/home
)
In diesem Beispiel schließt Array_Diff () alle Links mit dem Domain -Namen www.example.com aus und behält nur Links mit M66.net -Domain -Namen bei.
Array_Diff () ist eine sehr praktische Array -Vergleichsfunktion in PHP. Unabhängig davon, ob es verwendet wird, um unnötige Daten zu filtern, mehrere Arrays zu vergleichen oder sie anzuwenden, um bestimmte Inhalte in tatsächlichen Projekten auszuschließen, kann diese Funktion Ihnen dabei helfen, Array -Daten effizient zu verarbeiten. Wenn Sie die grundlegenden Nutzungs- und Anwendungsfähigkeiten beherrschen, werden Sie in der Entwicklung komfortabler.