In PHP sind Array_merge () und Array_Diff_Ukey () zwei sehr häufige Funktionen, die uns helfen, Arrays leicht zu verschmelzen und Elemente im Array basierend auf angegebenen Bedingungen zu entfernen. In diesem Artikel werden wir erklären, wie Sie Arrays durch diese beiden Funktionen verschmelzen und die angegebenen Schlüssel gipfeln.
Array_merge () wird verwendet, um ein oder mehrere Arrays in ein Array zu kombinieren. Wenn das Array den gleichen Schlüsselnamen hat, überschreiben die Werte im nachfolgenden Array die Werte im vorherigen Array.
Zum Beispiel:
$array1 = ['a' => 'apple', 'b' => 'banana'];
$array2 = ['b' => 'blueberry', 'c' => 'cherry'];
$result = array_merge($array1, $array2);
print_r($result);
Ausgabe:
Array
(
[a] => apple
[b] => blueberry
[c] => cherry
)
Die Funktion array_diff_ukey () wird verwendet, um die Schlüssel von zwei Arrays zu vergleichen und den Differenzteil zurückzugeben. Es bestimmt den Unterschied zwischen zwei Array-Schlüssel basierend auf benutzerdefinierten Rückruffunktionen.
Zum Beispiel:
$array1 = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];
$array2 = ['a' => 'apricot', 'd' => 'date'];
$result = array_diff_ukey($array1, $array2, 'key_compare_func');
print_r($result);
function key_compare_func($key1, $key2) {
return strcmp($key1, $key2);
}
Ausgabe:
Array
(
[b] => banana
[c] => cherry
)
array_diff_ukey () vergleicht die Schlüssel des Arrays, nicht die Werte. Sein Ergebnis ist, die Schlüssel, die sich im ersten Array befinden, jedoch nicht im zweiten Array zu finden.
Wenn wir diese beiden Funktionen kombinieren, können wir zuerst das Array zusammenführen und dann bestimmte Schlüssel gemäß den angegebenen Bedingungen entfernen. Hier ist ein Beispielcode, der zeigt, wie zwei Arrays über Array_Merge () zusammengeführt werden, und verwenden Sie Array_Diff_Ukey (), um einige Schlüssel zu gipfeln.
<?php
// Definieren Sie zwei Arrays
$array1 = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];
$array2 = ['b' => 'blueberry', 'd' => 'date'];
// Arrays zusammenführen
$mergedArray = array_merge($array1, $array2);
// Schlüssel zu beseitigen
$keysToRemove = ['b'];
// verwenden array_diff_ukey() Um den angegebenen Schlüssel zu entfernen
$finalArray = array_diff_ukey($mergedArray, $keysToRemove, function($key1, $key2) {
return strcmp($key1, $key2); // Vergleichsschlüssel
});
// Ausgangsergebnis
print_r($finalArray);
?>
Array
(
[a] => apple
[c] => cherry
[d] => date
)
In diesem Beispiel haben wir zuerst die Arrays $ Array1 und $ array2 mit Array_merge () zusammengeführt, um ein neues Zusammenführungsarray zu erhalten. Verwenden Sie dann array_diff_ukey () , um Elemente zu entfernen, die den Schlüssel 'B' enthalten. Schließlich enthält das zurückgegebene Array alle Elemente außer dem Schlüssel 'B' .
In einigen Anwendungen kann es darum gehen, URLs zu verwenden, um Daten zu verarbeiten, z. B. Daten aus URLs und Manipulation von Arrays. Wenn Sie die URL verarbeiten und den Domänennamen ersetzen müssen, können wir die Funktion parse_url () verwenden, um die URL zu extrahieren und zu ändern.
Angenommen, wir müssen den Domänennamen in der URL durch m66.net ersetzen, können wir den folgenden Code verwenden: