Aktueller Standort: Startseite> Neueste Artikel> Erklären Sie das Differenzprinzip von Array_Diff_assoc () in grafischer Weise

Erklären Sie das Differenzprinzip von Array_Diff_assoc () in grafischer Weise

M66 2025-06-06

array_diff_assoc () ist eine sehr nützliche Funktion in PHP, die zwei Arrays vergleicht, die Schlüsselwertpaare zurückgeben, die sich im ersten Array, jedoch nicht im zweiten Array befinden. Insbesondere vergleicht es nicht nur die Werte eines Arrays, sondern auch die Schlüssel des Arrays. Auf diese Weise ist die Funktion array_diff_assoc () präziser als array_diff (), da sie die Korrespondenz zwischen Schlüsselnamen und Schlüsselwerten berücksichtigt.

In diesem Artikel werden wir grafische Methoden verwenden, um Ihnen zu verstehen, wie die Funktion array_diff_assoc () funktioniert. Beginnen wir mit einem einfachen Beispiel und erläutern das Verhalten dieser Funktion Schritt für Schritt.

Grundnutzung

Funktionsprototyp:

 array_diff_assoc(array $array1, array $array2): array

Beispielcode:

 <?php
$array1 = [
    "a" => 1,
    "b" => 2,
    "c" => 3
];

$array2 = [
    "a" => 1,
    "b" => 4,
    "d" => 5
];

$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

Ergebnis:

 Array
(
    [b] => 2
    [c] => 3
)

analysieren

In diesem Beispiel vergleicht Array_diff_assoc () Array1 und Array2 . Lassen Sie uns analysieren, wie es Schritt für Schritt funktioniert.

  1. Schlüssel a :

    • Die Werte von Schlüssel A in Array1 und Array2 sind beide 1 , daher gibt es keinen Unterschied zwischen diesem Paar von Schlüsselwertpaaren.

  2. Schlüssel B :

    • In Array1 beträgt der Wert von Schlüssel B 2 , während in Array2 der Wert von Schlüssel B 4 beträgt. Da Schlüsselwerte inkonsistent sind, wird B => 2 als ein Schlüsselwertpaar angesehen, das für Array1 einzigartig ist und im Ergebnis angezeigt wird.

  3. Schlüssel C :

    • In Array1 beträgt der Wert von Schlüssel C 3 , während in Array2 keine Schlüssel c gibt. Daher wird C => 3 auch als Schlüsselwertpaar angesehen, das für Array1 einzigartig ist und im Ergebnis angezeigt wird.

Daher gibt Array_Diff_assoc () ein Array zurück, das B => 2 und C => 3 enthält.

Das Prinzip der Unterschiede durch grafische Mittel verstehen

Um das Arbeitsprinzip von array_diff_assoc () intuitiver zu verstehen, können wir den Vergleichsprozess von zwei Arrays durch Abbildungen zeigen.

Abbildung: Vergleichsprozess

Angenommen, es gibt zwei Arrays:

  • Array1 : ["A" => 1, "B" => 2, "C" => 3]

  • Array2 : ["A" => 1, "B" => 4, "D" => 5]

Wir können ihre Unterschiede durch das folgende Diagramm deutlich erkennen.

 array1:  [ "a" => 1, "b" => 2, "c" => 3 ]
                      ↑            ↑
array2:  [ "a" => 1, "b" => 4, "d" => 5 ]
                      ↑
  • Schlüssel A : Gleiches (sowohl Schlüssel- als auch Value -Übereinstimmung), daher ist es nicht im Ergebnis.

  • Schlüssel B : Die Schlüssel sind gleich, aber die Werte sind unterschiedlich. Der Unterschied wird als einzigartig für Array1 angesehen, so dass er im Ergebnis angezeigt wird.

  • Schlüssel C : In Array2 gibt es keinen Schlüssel C. C => 3 wird als einzigartig für Array1 angesehen, so dass es auch im Ergebnis angezeigt wird.

Abbildung Ergebnisse:

 Result: [ "b" => 2, "c" => 3 ]

Erfahren Sie mehr

Die Bedeutung der Schlüsselwert-Matching

array_diff_assoc () vergleicht nicht nur Arrays nach Werten, sondern auch die Taste -Anpassung. Wenn es in den beiden Arrays, aber unterschiedlichen Werten die gleichen Schlüssel gibt, behandelt Array_Diff_assoc () es als Differenz.

Wenn der Schlüssel überhaupt nicht existiert

Wenn es in Array2 (wie C ) überhaupt keine Schlüssel gibt, gilt das Schlüsselwertpaar als einzigartig für Array1 und erscheint auch im Ergebnisarray.

Gemeinsame Anwendungsszenarien

  1. Filterdatenunterschiede : Wenn Sie Array -Daten verarbeiten, können Array_Diff_assoc () verwendet werden, um Unterschiede in einem Array von einem anderen zu finden, insbesondere wenn die Schlüssel und Werte von zwei Arrays genau übereinstimmen müssen.

  2. Verarbeitungskonfigurationsarrays : Wenn Sie zwei Konfigurationsarrays vergleichen und prüfen müssen, ob es unterschiedliche Konfigurationselemente gibt, ist Array_Diff_assoc () eine sehr gute Wahl.

  3. Datendeduplizierung : Wenn Sie zwei Datensätze haben, können Sie den eindeutigen Teil eines Datensatzes finden, um ihn zu erreichen.

Zusammenfassen

array_diff_assoc () ist eine sehr praktische Funktion in PHP, die uns helfen kann, die Unterschiede zwischen Schlüsselwertpaaren von zwei Arrays zu vergleichen und ein Array zurückzugeben, das unterschiedliche Schlüsselwertpaare enthält. Durch den Vergleich der Beispiele von Array1 und Array2 verstehen wir, wie es den Unterschied beurteilt, indem sie Schlüssel und Werte gleichzeitig vergleichen.

Wenn Sie Fragen haben oder ein tieferes Verständnis für andere Array -Manipulationsfunktionen in PHP haben möchten, können Sie gerne mit mir diskutieren!