Dans la programmation PHP, la fonction array_diff_ukey () est souvent utilisée pour comparer les clés de deux tableaux et les différences de clés de retour qui existent dans un tableau mais pas dans un autre. Cette fonction est un outil très utile pour les comparaisons de clés de tableau, en particulier lors du traitement des données JSON. Grâce à cet article, nous explorerons comment utiliser la fonction array_diff_ukey () pour détecter les modifications des clés du tableau après le décodage JSON.
array_diff_ukey () est une fonction intégrée en PHP qui compare les clés de deux tableaux et renvoie les touches dans le premier tableau mais pas dans le deuxième tableau. La syntaxe de base d'une fonction est la suivante:
array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array
$ array1 : le premier tableau.
$ array2 : le deuxième tableau.
$ key_compare_func : une fonction de rappel définie par l'utilisateur utilisé pour comparer la taille de deux clés.
Cette fonction renvoie un tableau contenant toutes les touches qui apparaissent dans $ array1 mais pas dans $ array2 .
Nous pouvons utiliser array_diff_ukey () pour détecter les modifications clés du tableau après le décodage JSON à travers les étapes suivantes. Supposons que vous ayez deux données JSON, représentant des données à différents moments. Nous voulons vérifier si les clés du tableau après leur décodage ont changé.
Tout d'abord, nous devons décoder les données JSON dans un tableau PHP. Supposons que nous ayons deux données JSON:
$json1 = '{"id": 1, "name": "John", "age": 30}';
$json2 = '{"id": 1, "name": "John", "address": "New York"}';
Nous pouvons les décoder dans des tableaux PHP via JSON_DECODE () :
$array1 = json_decode($json1, true);
$array2 = json_decode($json2, true);
Ensuite, nous utilisons array_diff_ukey () pour comparer les clés de ces deux tableaux et détecter les différences de clés:
$key_diff = array_diff_ukey($array1, $array2, 'strcasecmp');
Ici, StrcasecMP est une fonction de rappel utilisée pour comparer les touches de tableau, qui ignore le cas de la clé. Vous pouvez définir des fonctions de rappel personnalisées pour comparer les clés au besoin.
Si le tableau $ key_diff retourné n'est pas vide, cela signifie que la clé de tableau a changé. Sinon, les clés du tableau n'ont pas changé. Vous pouvez davantage traiter en fonction du tableau de différence, tel que l'enregistrement de la clé de modification:
if (!empty($key_diff)) {
echo "Les clés suivantes sont JSON Modifications des données:\n";
print_r($key_diff);
} else {
echo "JSON La clé de données n'a pas changé。\n";
}
Grâce à la fonction array_diff_ukey () , nous pouvons facilement détecter les modifications des touches de tableau après le décodage JSON. Cette méthode peut être appliquée à divers scénarios, en particulier lorsqu'il s'agit de différentes versions des rendements API, aidant les développeurs à suivre les changements dans les structures de données.
Ce qui précède est une introduction à la façon d'utiliser la fonction array_diff_ukey () pour détecter les modifications des clés du tableau après le décodage JSON. J'espère que cela vous sera utile!