Aktueller Standort: Startseite> Neueste Artikel> Wie Verwenden Sie das PHP -Funktion Array_Diff_Uassoc, um die Schlüsselnamen eines Array -Lesens aus einer CSV -Datei und dem ursprünglichen Array zu vergleichen?

Wie Verwenden Sie das PHP -Funktion Array_Diff_Uassoc, um die Schlüsselnamen eines Array -Lesens aus einer CSV -Datei und dem ursprünglichen Array zu vergleichen?

M66 2025-06-13

In PHP wird die Funktion array_diff_uassoc verwendet, um zwei Arrays zu vergleichen und ein Array zurückzugeben, das die Differenz der Schlüsselnamen enthält. array_diff_uassoc ist ein sehr praktisches Werkzeug, wenn wir ein Array aus einer CSV -Datei lesen und mit einem Original -Array die Schlüsselnamen vergleichen müssen. In diesem Artikel wird ausführlich erläutert, wie Sie diese Funktion verwenden, um die Schlüsselnamen eines Arrays zu vergleichen, das aus einer CSV -Datei und dem ursprünglichen Array gelesen wird.

Szenarien verwenden

Angenommen, Sie haben ein Array mit den Originaldaten und lesen einen weiteren Datensatz aus der CSV -Datei über fGetCSV () . Möglicherweise möchten Sie die Differenzen der Schlüsselnamen zwischen den beiden Datensätzen vergleichen. Array_Diff_Uassoc kann diese Aufgabe sehr einfach erfüllen.

Schritt

  1. Lesen von CSV -Dateien <br> Zunächst müssen Sie die Daten in der CSV -Datei lesen und in ein assoziatives Array umwandeln. Normalerweise können Sie mit PHPs fGetCSV () -Funktion CSV -Dateien und ein Array erstellen.

  2. Definieren Sie das ursprüngliche Array <br> Definieren Sie dann ein Roharray, das Sie mit den CSV -Daten vergleichen möchten.

  3. Verwenden Sie Array_Diff_Uassoc , um den Schlüsselnamenunterschiede zu vergleichen . <br> Verwenden Sie schließlich die Funktion array_diff_uassoc , um die Differenzen der Schlüsselnamen zwischen den beiden Arrays zu vergleichen.

Beispielcode

 <?php
// Angenommen, wir haben ein originales Array
$originalArray = [
    'name' => 'John',
    'age' => 25,
    'location' => 'New York'
];

// aus CSV Dateien lesen Daten und erstellen Arrays
// Angenommen, wir haben einen CSV dokumentieren data.csv,Der Inhalt ist wie folgt:
// name,John
// age,30
// address,123 Street
$csvFile = fopen('data.csv', 'r');
$csvArray = [];
while (($data = fgetcsv($csvFile, 1000, ',')) !== FALSE) {
    $csvArray[$data[0]] = $data[1]; // Wille CSV Umwandeln Sie Daten in assoziatives Array
}
fclose($csvFile);

// Vergleich der ursprünglichen Array mit CSV Der Schlüsselname -Differenz des Arrays
$diff = array_diff_uassoc($csvArray, $originalArray, function($key1, $key2) {
    return strcmp($key1, $key2); // Vergleichen Sie den Schlüsselnamenunterschiede
});

// Ausgangsunterschied
echo "Schlüsselname Unterschied:\n";
print_r($diff);
?>

erklären

  • Originalarray : $ originalArray sind die Rohdaten, die wir zum Vergleich verwenden, die einige Schlüsselwertpaare enthalten.

  • CSV -Daten lesen : Wir verwenden fGetCSV (), um die Datenzeile nach Zeile aus der Datei data.csv zu lesen und jede Zeile in ein assoziatives Array $ csvarray umzuwandeln.

  • Array_diff_uassoc : Diese Funktion akzeptiert drei Parameter. Das erste ist das zu vergleichen, das zweite ist das Benchmark -Array und die dritte ist die Rückruffunktion, mit der Schlüsselnamen verglichen werden. Die Rückruffunktion nimmt zwei Schlüsselnamen als Argumente auf und gibt ihre Unterschiede zurück. In diesem Beispiel verwenden wir die Funktion von Strcmp (), um Wörterbuchvergleiche durchzuführen.

Ergebnis

Dieser Code gibt den Unterschied im Keyname zwischen dem ursprünglichen Array und dem Array aus der CSV -Datei aus. Wenn beispielsweise eine CSV -Datei einen Adressschlüssel enthält und das ursprüngliche Array nicht, wird der Adressschlüssel in das Differenzarray enthalten.

Zusammenfassung

Durch die Verwendung der Funktion array_diff_uassoc können wir uns einfach helfen, Schlüsselnamenunterschiede in Arrays zu vergleichen. Durch das Lesen von Daten aus einer CSV -Datei und beim Vergleich mit dem ursprünglichen Array können wir die Unterschiede in den Schlüsselnamen der beiden Arrays schnell identifizieren. Diese Methode ist sehr nützlich bei der Datenverarbeitung, Importierung, Exportierung oder Überprüfung.