Dans PHP, la fonction Array_Diff_uassoc est utilisée pour comparer deux tableaux et renvoie un tableau contenant la différence de noms de clés. array_diff_uassoc est un outil très pratique lorsque nous devons lire un tableau à partir d'un fichier CSV et comparer les noms de clés avec un tableau d'origine. Cet article expliquera en détail comment utiliser cette fonction pour comparer les noms de clés d'un tableau lus à partir d'un fichier CSV et du tableau d'origine.
Supposons que vous ayez un tableau contenant les données d'origine et que vous lisez un autre ensemble de données du fichier CSV via FGETCSV () . Vous souhaiterez peut-être comparer les différences de nom de clé entre les deux ensembles de données, Array_Diff_uassoc peut accomplir cette tâche très facilement.
Lire des fichiers CSV <br> Tout d'abord, vous devez lire les données dans le fichier CSV et les convertir en un tableau associatif. Normalement, vous pouvez utiliser la fonction FGETCSV () de PHP pour lire les fichiers CSV et créer un tableau.
Définissez le tableau d'origine <br> Ensuite, définissez un tableau brut que vous souhaitez comparer avec les données CSV.
Utilisez array_diff_uassoc pour comparer les différences de nom de clé <br> Enfin, utilisez la fonction array_diff_uassoc pour comparer les différences de nom de clé entre les deux tableaux.
<?php
// Supposons que nous ayons un tableau d'origine
$originalArray = [
'name' => 'John',
'age' => 25,
'location' => 'New York'
];
// depuis CSV Les fichiers lisent les données et la construction des tableaux
// Supposons que nous en ayons un CSV document data.csv,Le contenu est le suivant:
// name,John
// age,30
// address,123 Street
$csvFile = fopen('data.csv', 'r');
$csvArray = [];
while (($data = fgetcsv($csvFile, 1000, ',')) !== FALSE) {
$csvArray[$data[0]] = $data[1]; // Volonté CSV Convertir les données en tableau associatif
}
fclose($csvFile);
// Comparaison du tableau d'origine avec CSV La différence de nom de la clés du tableau
$diff = array_diff_uassoc($csvArray, $originalArray, function($key1, $key2) {
return strcmp($key1, $key2); // Comparez les différences de noms de clé
});
// Différence de sortie
echo "Différence de nom clé:\n";
print_r($diff);
?>
Tableau d'origine : $ OriginalArray est les données brutes que nous utilisons pour comparer, qui contient des paires de valeurs clés.
Lecture des données CSV : nous utilisons FGETCSV () pour lire les données ligne par ligne à partir du fichier data.csv et convertir chaque ligne en un tableau associatif $ CSVArray .
array_diff_uassoc : cette fonction accepte trois paramètres. Le premier est le tableau à comparer, le second est le tableau de référence, et le troisième est la fonction de rappel utilisée pour comparer les noms de clés. La fonction de rappel prend deux noms de clés comme arguments et renvoie leurs différences. Dans cet exemple, nous utilisons la fonction strcmp () pour effectuer des comparaisons d'ordre du dictionnaire.
Ce code publie la différence de nom de clé entre le tableau d'origine et le tableau lus à partir du fichier CSV. Par exemple, si un fichier CSV contient une touche d'adresse et le tableau d'origine ne le fait pas, la clé d'adresse sera incluse dans le tableau de différence.
L'utilisation de la fonction array_diff_uassoc peut nous aider à comparer facilement les différences de nom de clé dans les tableaux. En lisant les données d'un fichier CSV et en les comparant avec le tableau d'origine, nous pouvons rapidement identifier les différences de noms de clés des deux tableaux. Cette méthode est très utile dans le traitement des données, l'importation, l'exportation ou la vérification.