Bei der PHP -Programmierung ist es häufig notwendig, Zusammenführungs- und Differenzierungsvorgänge in Arrays durchzuführen. array_diff_key () und array_merge () sind zwei sehr nützliche Funktionen in PHP, die uns helfen können, differentielle Verschmelzung von Arrays zu implementieren. Heute werden wir uns mit diesen beiden Funktionen befassen und zeigen, wie die Unterschiede im Array durch sie zusammengeführt werden können.
array_diff_key () ist ein Schlüssel, mit dem zwei oder mehr Arrays verglichen werden, und gibt ein Array mit unterschiedlichen Schlüsselnamen zurück. Die Syntax ist wie folgt:
array_diff_key(array $array1, array $array2, array ...$arrays): array
Diese Funktion gibt ein Array zurück, das alle Schlüssel in $ array1 enthält, jedoch ausschließt Schlüssel, die auch in anderen Arrays existieren.
Die Funktion array_merge () wird verwendet, um zwei oder mehr Arrays zusammenzuführen. Es kombiniert mehrere Zahlen zu einem Neuarray und gibt das zusammengeführte Ergebnis zurück. Die grundlegende Syntax ist wie folgt:
array_merge(array ...$arrays): array
Beim Zusammenführen von Arrays überschreibt der nachfolgende Arraywert den Wert desselben Schlüssels im vorherigen Array, wenn mehrere Arrays die gleichen Schlüsselnamen haben.
Angenommen, wir haben zwei Arrays: $ Array1 und $ array2 , und wir möchten ihre Unterschiede zusammenführen, d. H. Elemente, die in $ array1 und nicht in $ array2 existieren. Wir können die Differenz durch array_diff_key () berechnen und dann die Differenz mit Array_Merge () verschmelzen.
Hier ist ein Beispielcode, der zeigt, wie diese Funktion implementiert wird:
<?php
// Definieren Sie zwei Arrays
$array1 = [
'a' => 'apple',
'b' => 'banana',
'c' => 'cherry'
];
$array2 = [
'b' => 'blueberry',
'd' => 'date',
'e' => 'elderberry'
];
// verwenden array_diff_key auftauchen array1 Einzigartige Schlüssel
$diff = array_diff_key($array1, $array2);
// Führen Sie den Differenzenteil zusammen
$result = array_merge($diff, $array2);
echo '<pre>';
print_r($result);
echo '</pre>';
?>
In diesem Beispiel finden wir zuerst die Schlüssel, die in $ array1 existieren, aber nicht in $ array2 (dh die Schlüssel 'a' und 'c' ) über Array_Diff_Key () . Wir verwenden dann Array_merge (), um diese Unterschiede mit $ array2 zusammenzuführen. Schließlich wird das zusammengeführte Array -Ergebnis ausgegeben.
Nach dem Ausführen des oben genannten Codes sind die Ausgabergebnisse wie folgt:
Array
(
[a] => apple
[c] => cherry
[b] => blueberry
[d] => date
[e] => elderberry
)
Wie Sie sehen können, bleiben 'a' => 'Apple' und 'C' => 'Cherry' in $ array1 erhalten und die Elemente in $ array2 werden verschmolzen.
Angenommen, Sie müssen einige URLs in das Array aufnehmen und ihre Domänennamen ersetzen, können wir einfach die Funktion str_replace () verwenden, um den Domänennamenteil in der URL während des Zusammenführungsvorgangs zu ersetzen. Zum Beispiel: