Position actuelle: Accueil> Derniers articles> Comparaison des données de tableau avec l'ensemble de résultats de la base de données

Comparaison des données de tableau avec l'ensemble de résultats de la base de données

M66 2025-05-17

Dans PHP, la fonction Array_Diff_uassoc est utilisée pour calculer la différence entre deux tableaux. Il peut non seulement comparer en fonction de la valeur, mais vous permet également de personnaliser la façon de comparer les clés. Cette fonction est très utile pour comparer les ensembles de résultats de la base de données et les données de tableau, en particulier lors de la comparaison des données, du filtrage, etc.

Cet article utilisera des exemples pour montrer comment comparer l'ensemble de résultats de la base de données avec d'autres données de tableau à l'aide de la fonction Array_Diff_uassoc et afficher les différences.

1. Présentation de la fonction array_diff_uassoc

La fonction Array_Diff_uassoc est utilisée pour comparer les différences entre les noms de clés et les valeurs de clé de deux tableaux ou plus. Contrairement à la fonction Array_Diff_assoc , Array_Diff_uassoc nous permet de spécifier une fonction de comparaison définie par l'utilisateur pour comparer les touches. La syntaxe de cette fonction est la suivante:

 array_diff_uassoc(array $array1, array $array2, callable $key_compare_func): array
  • $ array1 : le premier tableau contenant les données d'origine.

  • $ array2 : le deuxième tableau, utilisé pour comparer avec le premier tableau.

  • $ key_compare_func : une fonction de rappel qui compare deux touches.

Cette fonction renvoie un tableau contenant des différences, c'est-à-dire des éléments qui existent dans $ array1 mais pas dans $ array2 .

2. Comparaison de la requête de base de données avec le tableau PHP

Supposons que nous ayons une base de données qui stocke l'ID et le nom de l'utilisateur, et nous obtenons également un tableau PHP qui stocke les données que nous souhaitons comparer avec la base de données. Notre objectif est de découvrir les données qui ne sont pas incluses dans le tableau dans la base de données.

Tout d'abord, nous obtenons l'ensemble de résultats de la base de données:

 <?php
// Simuler le jeu de résultats de la base de données
$databaseResult = [
    1 => 'Alice',
    2 => 'Bob',
    3 => 'Charlie',
    4 => 'David',
];

// simulationPHPDonnées de réseaux
$inputArray = [
    1 => 'Alice',
    3 => 'Charlie',
    5 => 'Eve',
];

// Fonctions de comparaison personnalisées:Comparez si les valeurs clés sont égales
function keyCompare($key1, $key2) {
    return $key1 - $key2;
}
?>

Dans le code ci-dessus, nous simulons l'ensemble de résultats $ DatabaseResult renvoyé par une base de données et le tableau $ entrée à comparer. Notre objectif est d'utiliser la fonction Array_Diff_uassoc pour trouver des éléments dans $ inputarray qui ne sont pas dans l'ensemble de résultats de la base de données.

3. Utilisez Array_Diff_uassoc pour comparaison

Ensuite, utilisez array_diff_uassoc pour comparer $ databasereSult et $ inputarray :

 <?php
// utiliser array_diff_uassoc Comparaison des différences de tableau
$diff = array_diff_uassoc($inputArray, $databaseResult, 'keyCompare');

// Résultats de la différence de sortie
print_r($diff);
?>

Dans cet exemple, Array_Diff_uassoc compare les éléments dans $ inputarray et $ databaseResult en fonction du nom de clé et renvoie un tableau d'éléments contenus dans $ inputarray mais pas dans $ databaseResult .

4. Analyse des résultats

Lors de l'exécution du code ci-dessus, le résultat que nous obtenons est:

 Array
(
    [5] => Eve
)

Cela indique que dans le tableau $ inputarray , l'utilisateur "eve" avec ID 5 n'apparaît pas dans le jeu de résultats de la base de données $ DatabaseResult . D'autres éléments, tels que "Alice" avec ID 1 et "Charlie" avec ID 3, existent dans la base de données, de sorte qu'ils n'apparaissent pas dans les résultats différentiels.

5. Conclusion

En utilisant la fonction Array_Diff_Uassoc de PHP, nous pouvons facilement comparer l'ensemble de résultats de la base de données et les données du tableau pour trouver la différence. Dans le développement réel, cette méthode est très pratique dans des scénarios tels que la comparaison des données, le filtrage et la synchronisation des données.

De plus, grâce à des fonctions de comparaison personnalisées, nous pouvons comparer de manière flexible les différences de valeurs clés au besoin, afin d'effectuer le filtrage des données et le traitement de plus en plus précisément.

Remplacement de l'URL dans l'exemple

Si les noms de domaine liés à l'URL sont impliqués dans l'exemple de code (tels que les liens renvoyés par les requêtes de base de données), remplacez-les par m66.net comme suit: