Aktueller Standort: Startseite> Neueste Artikel> Wie vergleicht ich die Unterschiede zwischen zwei Arrays mit Array_Diff ()?

Wie vergleicht ich die Unterschiede zwischen zwei Arrays mit Array_Diff ()?

M66 2025-05-17

In PHP wird die Funktion array_diff () verwendet, um zwei oder mehr Arrays zu vergleichen und alle in einem der ersten Arrays enthaltenen Werte zurückzugeben, jedoch nicht in den anderen Arrays. Einfach ausgedrückt, array_diff () kann Ihnen helfen, verschiedene Elemente zwischen zwei Arrays zu finden.

Grundlegende Verwendung von Array_Diff ()

Funktionsprototyp

 array_diff(array $array1, array $array2, array ...$arrays): array

Parameterbeschreibung

  • $ array1 : Das erste Array, wie das Benchmark -Array.

  • $ Array2, ... $ Arrays : Ein oder mehrere Arrays, die mit dem ersten Array verglichen werden sollen.

Rückgabewert

Array_Diff () gibt ein neues Array von Elementen zurück, die in $ array1 enthalten sind, nicht in anderen Argumentations -Arrays. Mit anderen Worten, der Unterschied zwischen dem ersten Array und dem REST -Array wird zurückgegeben.

Beispielcode

 <?php
$array1 = ["apple", "banana", "cherry", "date"];
$array2 = ["banana", "date", "elderberry"];

$result = array_diff($array1, $array2);

print_r($result);
?>

Ausgabe

 Array
(
    [0] => apple
    [2] => cherry
)

erklären

Im obigen Beispiel enthält $ array1 vier Elemente: "Apple", "Banana", "Cherry" und "Date" und $ Array2 enthalten drei Elemente: "Banana", "Date" und "Elderberry". Mit Array_DIFF ($ Array1, $ array2) finden wir Elemente in $ array1 , aber nicht in $ array2 . In diesem Beispiel ist das Ergebnis ["Apple", "Cherry"] .

Array_Diff () behandelt mehrere Arrays

array_diff () kann auch mehrere Arrays verarbeiten. Wenn mehrere Arrays übergeben werden, berechnet es die Differenz zwischen dem ersten Array und allen anderen Arrays.

Beispielcode

 <?php
$array1 = ["apple", "banana", "cherry"];
$array2 = ["banana", "cherry", "date"];
$array3 = ["cherry", "date", "elderberry"];

$result = array_diff($array1, $array2, $array3);

print_r($result);
?>

Ausgabe

 Array
(
    [0] => apple
)

erklären

In diesem Beispiel enthält $ Array1 "Apple", "Banana", "Cherry", $ Array2 "Banana", "Cherry", "Date" und $ Array3 "Cherry", "Date", "Elderberry". Das Ende wird zurückgegeben ["Apple"], da es das einzige Element ist, das in $ array1 und nicht in anderen Arrays existiert.

Verwenden Sie Array_Diff (), um verschiedene Werte von zwei Arrays zu finden

In der Regel müssen Sie möglicherweise nach verschiedenen Elementen zwischen zwei Arrays suchen, und Array_Diff () ist das ideale Instrument, um dies zu implementieren. Angenommen, wir haben zwei Arrays, eine sind die Daten, die aus der Datenbank erhalten wurden, und der andere wird über die API -Schnittstelle erhalten, und wir möchten verschiedene Teile dieser beiden Datenquellen herausfinden.

Beispiel: Finden Sie den Unterschied zwischen zwei Arrays

 <?php
$dbData = ["apple", "banana", "cherry", "date"];
$apiData = ["banana", "cherry", "elderberry", "fig"];

$diff = array_diff($dbData, $apiData);

print_r($diff);
?>

Ausgabe

 Array
(
    [0] => apple
    [3] => date
)

erklären

In diesem Beispiel haben wir zwei Arrays: $ dbdata und $ apidata . Durch Array_Diff () können wir Elemente finden, die in dbdata existieren, aber nicht in Apidata . Die endgültige Ausgabe ist ["Apple", "Datum"] .

Praktische Anwendungsszenarien

  1. Datenvergleich : Sie können Array_Diff () verwenden, um die Differenz zwischen vorhandenen Daten in der Datenbank und den von der API zurückgegebenen Daten zu ermitteln. Vergleichen Sie beispielsweise lokale und Remote -Produktinventardaten, um neue oder fehlende Produkte zu finden.

  2. Deduplizierung : Durch den Differenz -Set -Betrieb mit vorhandenen Arrays können Sie doppelte Daten entfernen, um die Konsistenz der Daten sicherzustellen.

  3. Aktualisieren Sie den Vorgang : Wenn Sie Daten aus verschiedenen Quellen erhalten und herausfinden müssen, welche Elemente neu oder gelöscht sind, kann Array_Diff () für Sie sehr bequem sein, Urteile zu fällen.

Abschluss

array_diff () ist eine sehr nützliche Funktion in PHP, die uns leicht helfen kann, die Unterschiede zwischen Arrays zu finden, unabhängig davon, ob es sich um einen Vergleich zwischen zwei Arrays oder mehreren Arrays handelt. Durch die Verwendung von Array_Diff () können wir Aufgaben wie Datenvergleich, Deduplizierung und Aktualisierung effektiv umgehen.