In PHP sind Array -Operationen eine der häufigsten Aufgaben bei der täglichen Entwicklung. PHP bietet eine reichhaltige Array -Operation -Funktion, wobei Array_Diff_assoc () und Array_merge () zwei sehr nützliche Funktionen sind. Diese beiden Funktionen sind sehr nützlich, wenn wir zwei Arrays vergleichen und ihre Unterschiede verarbeiten oder eine spezifische Filterung und Verarbeitung bei der Verschmelzung der Arrays durchführen müssen.
In diesem Artikel wird vorgestellt, wie Sie Array_Diff_assoc () und Array_merge () Union verwenden, um Array -Änderungen zu behandeln und Array -Unterschiede zu lösen und Probleme zu verschmelzen. Wir werden ein praktisches Beispiel verwenden, um zu erklären, wie diese beiden Funktionen zusammenarbeiten.
Die Funktion array_diff_assoc () wird verwendet, um zwei Arrays zu vergleichen und ein Array zurückzugeben, das im ersten Array enthalten ist, jedoch nicht in anderen Arrays. Im Gegensatz zu Array_Diff () berücksichtigt Array_diff_assoc () sowohl den Schlüsselnamen als auch den Wert des Arrays, und nur Elemente mit völlig unterschiedlichen Schlüsselwertpaaren werden zurückgegeben.
array_diff_assoc(array $array1, array $array2, array ...$arrays): array
Array1 : Das erste Array, das verglichen werden muss.
Array2 : Das zweite Array, das mit dem ersten Array verglichen werden muss.
Rückgabe: Gibt ein neues Array zurück, das Schlüsselwertpaare enthält, die in Array1 , jedoch nicht in Array2 enthalten sind.
$array1 = [
"a" => 1,
"b" => 2,
"c" => 3
];
$array2 = [
"a" => 1,
"b" => 4,
"c" => 3
];
$result = array_diff_assoc($array1, $array2);
print_r($result);
Ausgabe:
Array
(
[b] => 2
)
Wie aus dem Ergebnis ersichtlich ist, gibt die Funktion array_diff_assoc () nur Elemente mit unterschiedlichen Werten für den Schlüsselnamen zurück. B.
Die Funktion array_merge () wird verwendet, um einen oder mehrere Arrays zusammenzuführen. Es gibt ein neues Array zurück, das alle Elemente des Arrays enthält. Wenn mehrere Arrays die gleichen Schlüsselnamen haben, überschreibt das nachfolgende Array -Element das vorherige Array -Element.
array_merge(array ...$arrays): array
$ Arrays : Ein oder mehrere Arrays, die zusammengeführt werden müssen.
Rückgabe: Gibt ein neues Array zurück, das alle Eingangsarray -Elemente enthält.
$array1 = [
"a" => 1,
"b" => 2
];
$array2 = [
"c" => 3,
"d" => 4
];
$result = array_merge($array1, $array2);
print_r($result);
Ausgabe:
Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
)
Wie oben gezeigt, kombiniert Array_Merge () zwei Arrays in ein neues Array.
Angenommen, wir haben zwei Arrays, einer ist das ursprüngliche Datenarray und das andere ist das Datenarray nach einigen Änderungen. Wir müssen die Unterschiede zwischen diesen beiden Arrays herausfinden und die Unterschiede miteinander verbinden. Dieser Vorgang kann durch array_diff_assoc () erreicht und dann Arrays mit Array_merge () zusammengeführt werden.
// Rohdaten
$original = [
"name" => "John",
"email" => "john@example.com",
"age" => 30
];
// Änderungen
$updated = [
"name" => "John",
"email" => "john@m66.net", // Geänderte E -Mail -Adresse
"city" => "New York" // Neue Stadt fügte hinzu
];
// verwenden array_diff_assoc Finden Sie den Unterschied
$diff = array_diff_assoc($updated, $original);
// Führen Sie den Differenzenteil zusammen
$merged = array_merge($original, $diff);
print_r($merged);
Ausgabe:
Array
(
[name] => John
[email] => john@m66.net
[age] => 30
[city] => New York
)
Finden Sie den Unterschied : Array_Diff_assoc () wird verwendet, um den Unterschied zwischen dem aktualisierten Array und dem Original -Array zu finden. Es wird ein neues Array mit verschiedenen Schlüsselwertpaaren (z. B. E-Mail und Stadt ) zurückgeben.
Merge -Differenz : Array_merge () wird verwendet, um das ursprüngliche Array und die Diff -Teile zusammenzuführen. Durch den Zusammenführungsvorgang können wir die anderen Teile des ursprünglichen Arrays beibehalten, während wir die aktualisierten Teile (Unterschiede) zusammenführen.
Diese Technik eignet sich besonders für die Behandlung von Konfigurationsaktualisierungen oder Vergleiche von Datenbankdatensätzen. Wenn Sie beispielsweise Änderungen in Konfigurationsdateien, Benutzereinstellungen oder Datenbankdatensätzen erkennen müssen, finden Sie alle verschiedenen Teile über Array_Diff_assoc () und verwenden Sie dann Array_merge () , um die neuen Werte in die ursprünglichen Daten zu verschmelzen, wodurch das Array effizient aktualisiert werden kann.
Durch Kombinieren von Array_Diff_assoc () und Array_merge () können wir leicht Unterschiede zwischen Arrays verarbeiten und zusammenführen. array_diff_assoc () hilft uns dabei, die Unterschiede zwischen Arrays zu finden, während Array_merge () diese Unterschiede in die ursprünglichen Daten zusammenschließen kann. Beide werden in Verbindung miteinander verwendet und eignen sich besonders für Szenarien, in denen Datenänderungen und Kombinationen erforderlich sind.
Ich hoffe, dieser Artikel kann Ihnen helfen, die Verwendung dieser beiden Funktionen besser zu verstehen und diese in tatsächlichen Projekten flexibel anzuwenden. Wenn Sie Fragen oder Ideen haben, überlassen Sie bitte eine Nachricht, um zu diskutieren!