Pendant le processus de développement, nous devons souvent comparer un fichier de configuration avec la configuration par défaut pour découvrir rapidement les différences. Par exemple, supposons que vous ayez un tableau de configuration par défaut et un tableau de fichiers de configuration modifié par l'utilisateur, vous devez rapidement savoir quels éléments de configuration sont modifiés, ajoutés ou supprimés.
PHP fournit de nombreuses fonctions utiles pour gérer ce type de tâche, et array_diff_key () est un outil très approprié.
array_diff_key () est une fonction intégrée en PHP qui compare les noms de clés de deux tableaux et renvoie un tableau contenant des paires de valeurs clés qui existent dans le premier tableau mais n'existent pas dans le deuxième tableau. Autrement dit, cela peut nous aider à découvrir les pièces avec des noms de clés différents dans deux tableaux.
Supposons qu'il existe un tableau de configuration par défaut $ defaultConfig et un tableau de configuration modifié par l'utilisateur $ userconfig . Nous voulons découvrir rapidement les différentes parties de la configuration utilisateur que la configuration par défaut. Il peut être réalisé par:
<?php
// Configuration par défaut
$defaultConfig = [
'site_name' => 'My Website',
'site_url' => 'https://www.example.com',
'site_admin' => 'admin@example.com',
'theme' => 'default',
'timezone' => 'UTC',
];
// Configuration de l'utilisateur
$userConfig = [
'site_name' => 'Custom Website',
'site_url' => 'https://m66.net', // Modifié URL
'theme' => 'dark', // Modifié主题
'timezone' => 'Asia/Shanghai',
];
// utiliser array_diff_key() 比对配置文件和Configuration par défaut
$differences = array_diff_key($userConfig, $defaultConfig);
// Différence de sortie
echo "Configuration de l'utilisateur与Configuration par défaut的差异:\n";
print_r($differences);
?>
Configuration par défaut et configuration de l'utilisateur : nous définissons deux tableaux, représentant la configuration par défaut et la configuration modifiée par l'utilisateur. La configuration de l'utilisateur est essentiellement la même que les noms de clés de la configuration par défaut, mais il existe des différences (telles que Site_Url et le thème ).
Array_diff_key () Fonction : nous utilisons array_diff_key () pour comparer $ userConfig et $ defaultConfig , qui renvoie un nouveau tableau contenant des paires de valeurs clés dans $ userconfig mais pas dans $ defaultConfig .
Différence de sortie : la section de différence est sortie via print_r () afin que nous puissions clairement voir la différence entre la configuration de l'utilisateur et la configuration par défaut.
Après avoir exécuté le code ci-dessus, la sortie sera:
Configuration de l'utilisateur与Configuration par défaut的差异:
Array
(
[site_name] => Custom Website
[site_url] => https://m66.net
[theme] => dark
)
À partir des résultats, nous pouvons voir que les pièces de la configuration utilisateur qui sont différentes de la configuration par défaut incluent:
Site_name a été modifié en "site Web personnalisé"
Site_url a été modifié en " https://m66.net"
Le thème a été modifié en "sombre"
En utilisant array_diff_key (), nous pouvons trouver rapidement la différence entre deux tableaux de configuration. Cette méthode est très adaptée pour comparer les fichiers de configuration avec des configurations par défaut, afin que les développeurs puissent comprendre les modifications de l'utilisateur et ajuster rapidement ou optimiser.