Position actuelle: Accueil> Derniers articles> Comparaison des paramètres avant et après la demande d'API de simulation

Comparaison des paramètres avant et après la demande d'API de simulation

M66 2025-05-17

Lors du développement d'API, il peut être nécessaire de comparer les paramètres demandés avec les paramètres attendus pour voir s'ils ont changé. La fonction Array_Diff_assoc fournie par PHP peut nous aider à y parvenir. Cette fonction est utilisée pour comparer les paires de valeurs clés de deux tableaux, renvoyant différentes parties entre elles. Ensuite, nous présenterons comment utiliser cette fonction pour simuler la comparaison des paramètres avant et après les demandes d'API.

1. Utilisation de base de la fonction Array_Diff_assoc

Tout d'abord, nous devons comprendre l'utilisation de base de la fonction Array_Diff_assoc . Cette fonction est utilisée pour comparer deux tableaux et renvoie un tableau contenant des paires de valeurs de clé qui existent dans le premier tableau mais pas dans le deuxième tableau.

Prototype de fonction:

 array_diff_assoc(array $array1, array $array2): array
  • $ Array1 : Le premier tableau (le tableau à comparer).

  • $ array2 : le deuxième tableau (le tableau à comparer avec le premier tableau).

Cette fonction compare les noms de clés et les valeurs de clé du tableau, et renvoie certaines paires de valeurs clés dans le premier tableau, mais il n'y a pas de partie du deuxième tableau avec des valeurs différentes.

2. Comparaison des paramètres avant et après la demande d'API de simulation

Supposons que nous voulons simuler la comparaison des paramètres avant et après la demande d'API, nous pouvons généralement utiliser Array_Diff_assoc pour nous aider à trouver la différence entre les paramètres de demande et les paramètres attendus. Par exemple:

Scène:

Nous avons une demande d'API où l'utilisateur soumet les paramètres. Nous voulons comparer les paramètres soumis avec les paramètres attendus pour voir si l'utilisateur soumet des paramètres supplémentaires ou modifie les valeurs de certains paramètres.

Exemple de code:

 <?php
// Paramètres avant la demande de simulation
$expectedParams = [
    'user_id' => 123,
    'name' => 'John Doe',
    'email' => 'john.doe@m66.net',
    'phone' => '123-456-7890'
];

// Simuler les paramètres soumis à l&#39;utilisateur
$submittedParams = [
    'user_id' => 123,
    'name' => 'John Doe',
    'email' => 'john.doe@m66.net',
    'phone' => '987-654-3210',  // Différents numéros de téléphone mobile
    'address' => '123 Main St'  // Des paramètres supplémentaires ont été soumis
];

// utiliser array_diff_assoc Comparaison de deux tableaux
$diff = array_diff_assoc($submittedParams, $expectedParams);

// Résultats de comparaison de sortie
if (!empty($diff)) {
    echo "La différence entre les paramètres demandés et les paramètres attendus est le suivant:\n";
    print_r($diff);
} else {
    echo "Les paramètres demandés sont cohérents avec les paramètres attendus。\n";
}
?>

Explication du code:

  1. $ attendParams : Il s'agit du paramètre de demande que nous attendons, y compris quatre champs: user_id , nom , e-mail et téléphone .

  2. $ SoumisParams : Il s'agit du paramètre de demande soumis par l'utilisateur. En plus des quatre champs normaux, un champ d'adresse supplémentaire est soumis et le champ du téléphone est modifié.

  3. Utilisez Array_Diff_assoc pour comparer les params soumises et attendus et découvrez les différences entre elles.

  4. S'il y a une différence, utilisez PRIMT_R pour sortir la pièce de différence; S'il n'y a pas de différence, publiez un message cohérent.

Sortir:

 La différence entre les paramètres demandés et les paramètres attendus est le suivant:
Array
(
    [phone] => 987-654-3210
    [address] => 123 Main St
)

Comme indiqué ci-dessus, la sortie montre la différence dans les demandes d'utilisateur. Le paramètre du téléphone a été modifié et l'adresse est un paramètre inutile.

3. Utilisation avancée

Parfois, nous devons non seulement comparer les différences entre les deux tableaux, mais aussi nécessiter des vérifications plus complexes. Par exemple, nous pourrions avoir besoin de voir si des paramètres spécifiques manquaient ou si certains champs clés répondent à un format spécifique. Pour améliorer la fonctionnalité, vous pouvez le gérer en conjonction avec d'autres fonctions PHP.

Exemple: Vérification des paramètres manquants

 <?php
$missingParams = array_diff_key($expectedParams, $submittedParams);
if (!empty($missingParams)) {
    echo "Les paramètres suivants sont manquants:\n";
    print_r($missingParams);
} else {
    echo "Tous les paramètres attendus ont été soumis。\n";
}
?>

Dans cet exemple, Array_Diff_Key est utilisé pour comparer les noms de clés pour savoir quels paramètres attendus sont manquants dans la demande.