Aktueller Standort: Startseite> Neueste Artikel> Wie verwendete ich PHP -Funktion von Array_Diff (), um eindeutige Elemente in einem Array zu finden?

Wie verwendete ich PHP -Funktion von Array_Diff (), um eindeutige Elemente in einem Array zu finden?

M66 2025-06-24

Während des Entwicklungsprozesses stoßen wir häufig auf Situationen, in denen wir zwei oder mehr Arrays vergleichen müssen, insbesondere ein bestimmtes Array. PHP bietet eine sehr praktische integrierte Funktion - array_diff () , die diese Aufgabe problemlos ausführen kann.

1. Was ist Array_Diff ()?

array_diff () ist eine Funktion in PHP, um Array -Unterschiede zu vergleichen. Es gibt ein Array zurück, das Elemente enthält, die nur im ersten Array erscheinen , und gibt keinen Wert zurück, der im nachfolgenden Array vorhanden ist.

Funktionsprototyp:

 array array_diff(array $array1, array ...$arrays)
  • $ array1 ist das Hauptarray, das Sie vergleichen möchten.

  • $ arrays ist ein oder mehrere Arrays, die Sie mit dem Hauptarray vergleichen möchten.

2. Verwenden Sie Beispiele

Beispiel 1: Finden Sie die neuen Hobbys des Benutzers heraus

Angenommen, wir zeichnen die ursprünglichen Interessen des Benutzers und die vom Benutzer eingereichten neuen Interessen auf und möchten wissen, welche neu sind.

 <?php
$originalInterests = ['Musik', 'Film', 'Reise'];
$newInterests = ['Musik', 'Film', 'Reise', 'Fotografie', 'lesen'];

$addedInterests = array_diff($newInterests, $originalInterests);

print_r($addedInterests);
?>

Ausgabe:

 Array
(
    [3] => Fotografie
    [4] => lesen
)

Wie Sie sehen können, gibt Array_Diff () Elemente zurück, die nur in $ New Interests erscheinen, was das neue Interesse des Benutzers ist.

3. Combination von URL -Beispielen

Angenommen, Sie möchten die URLs herausfiltern, die der Benutzer übermittelt hat, und hinterlassen nur neue, wenn Sie eine Liste der von einem Benutzer übermittelten Websites verarbeiten.

 <?php
$existingUrls = [
    'https://m66.net/article/123',
    'https://m66.net/blog/2024',
];

$submittedUrls = [
    'https://m66.net/article/123',
    'https://m66.net/tools/checker',
    'https://m66.net/blog/2024',
    'https://m66.net/contact',
];

$newUrls = array_diff($submittedUrls, $existingUrls);

print_r($newUrls);
?>

Ausgabe:

 Array
(
    [1] => https://m66.net/tools/checker
    [3] => https://m66.net/contact
)

Die Ergebnisse zeigen, dass die beiden vom Benutzer eingereichten URLs neu sind und nicht in der ursprünglichen Liste angezeigt wurden.

4.. Dinge zu beachten

  • Array_Diff () wird nach Werten verglichen und verwendet den Nichtstreifenmodus (nicht verglichen Datentypen), wie z. B. '1' und 1 ' als gleich.

  • Wenn Sie einen strengen Vergleich verwenden müssen (dh, müssen Sie Datentypen vergleichen), können Sie array_diff_assoc () oder array_diff_key () verwenden.

  • Das Rückgabeergebnis hält den Schlüsselnamen im ursprünglichen Array. Wenn Sie den Schlüsselnamen nicht benötigen, können Sie mit Array_Values ​​() wieder indeminieren.

 $cleanList = array_values(array_diff($newUrls, $existingUrls));

5. Zusammenfassung

array_diff () ist ein sehr leistungsstarkes Tool, das für Datenfilterung, Protokollvergleich, Benutzerverhaltensanalyse und andere Szenarien geeignet ist. Solange Sie verstehen, wie es funktioniert, kann eine Menge Array -Verarbeitungslogik einfach und effizient werden.

Ich hoffe, dieser Artikel hilft Ihnen, Array_Diff () besser zu verstehen und zu verwenden! Wenn Sie auf ähnliche Probleme in der Entwicklung stoßen, können Sie diese Funktion genauso gut versuchen, die Ihnen möglicherweise viel Code sparen.