Aktueller Standort: Startseite> Neueste Artikel> Wie verwende ich Array_Diff_Ukey () mit Array_Map (), um Tasten zu filtern und zu konvertieren?

Wie verwende ich Array_Diff_Ukey () mit Array_Map (), um Tasten zu filtern und zu konvertieren?

M66 2025-05-15

In PHP werden Array_Diff_Ukey () und Array_Map () sehr häufig verwendete Array -Funktionen verwendet, mit denen Array -Schlüssel und Filter verglichen und Arrays abgebildet und konvertiert werden. In diesem Artikel wird vorgestellt, wie diese beiden Funktionen in Kombination zur Implementierung der Filterung und der Konvertierung von Arrayschlüssel verwendet werden.

array_diff_ukey () Funktion

Array_Diff_Ukey () wird verwendet, um Tasten von zwei oder mehr Arrays zu vergleichen und ein Array mit Elementen mit verschiedenen Schlüssel zurückzugeben. Die Syntax dieser Funktion lautet wie folgt:

 array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array
  • $ array1 und $ array2 sind zwei Arrays, die verglichen werden müssen.

  • $ key_compare_func ist eine Rückruffunktion, die Schlüssel in zwei Arrays vergleicht.

Diese Funktion bestimmt, wie Tasten über die Rückruffunktion verglichen werden. Wenn die Rückruffunktion 0 zurückgibt, bedeutet dies, dass der Schlüssel der gleiche ist. Es gibt einen negativen Wert zurück, was bedeutet, dass der Schlüssel in $ array1 kleiner als der Schlüssel in $ array2 ist. Es gibt einen positiven Wert zurück, was bedeutet, dass der Schlüssel in $ array1 größer als der Schlüssel in $ array2 ist.

array_map () Funktion

Array_map () wird verwendet, um eine Rückruffunktion auf jedes Element des Arrays anzuwenden und ein neues Array zurückzugeben. Die Syntax ist wie folgt:

 array_map(callable $callback, array $array): array
  • $ callback ist eine Rückruffunktion, die auf jedes Element angewendet wird.

  • $ Array ist das Array, das zugeordnet werden soll.

Verwenden Sie Array_Diff_Ukey () und array_map () in Kombination

Wir können array_diff_ukey () verwenden, um die Schlüssel zu filtern und dann die Werte des Array durch Array_Map () umzuwandeln. Hier ist ein praktisches Beispiel, das zeigt, wie diese beiden Funktionen in Kombination verwendet werden, um Schlüssel zu filtern und zu konvertieren.

 <?php
// Originalarray
$array1 = [
    'a' => 1,
    'b' => 2,
    'c' => 3,
    'd' => 4
];

// Vergleiche Arrays,Angenommen, wir wollen behalten 'a' Und 'c' Diese beiden Schlüssel
$array2 = [
    'a' => 10,
    'c' => 20
];

// verwenden array_diff_ukey Nicht herausfiltern $array2 Schlüssel in
$filteredArray = array_diff_ukey($array1, $array2, function($key1, $key2) {
    return $key1 <=> $key2; // Vergleichen Sie die Größe des Schlüssels
});

// verwenden array_map Konvertieren Sie Werte in gefilterte Arrays,Hier multiplizieren wir den Wert mit 10
$transformedArray = array_map(function($value) {
    return $value * 10;
}, $filteredArray);

// Ausgangsergebnis
print_r($transformedArray);
?>

Code Beschreibung

  1. Wir definieren zuerst ein Roharray $ Array1 und ein Array $ Array2 zum Vergleich.

  2. Über die Funktion array_diff_ukey () vergleichen wir die Schlüssel von $ array1 und $ array2 und filtern diese Schlüssel in $ array1 heraus, die nicht in $ array2 sind. In diesem Beispiel enthält das gefilterte Array $ filteredArray die Elemente, die den Schlüssel 'a' und 'C' entsprechen.

  3. Dann verwenden wir Array_map () , um den Wert des $ filteredArray -Arrays zu konvertieren. In diesem Beispiel multiplizieren wir den Wert mit 10, um ein neues $ $ transformedArray zu generieren.

  4. Schließlich geben wir das konvertierte Array aus.

abschließend

Durch die kombinierte Verwendung von array_diff_ukey () und array_map () können wir Filterarray -Tasten implementieren und deren Werte konvertieren. Solche Kombinationen ermöglichen die Flexibilität des Umgangs mit komplexen Datenoperationen, insbesondere wenn sowohl Array -Tasten als auch Werte erforderlich sind.