Dans PHP, ASSERT () et Array_Diff_Key () sont deux fonctions très utiles. Le premier est généralement utilisé pour faire des affirmations, en vérifiant si une certaine condition se déroule, tandis que le second est utilisé pour comparer les clés de deux tableaux et des clés de retour qui ne sont pas dans le deuxième tableau. Nous pouvons utiliser ces deux fonctions en combinaison pour implémenter une logique d'affirmation simple et efficace qui nous aide à effectuer des vérifications conditionnelles rapides dans notre code. Cet article expliquera en détail comment utiliser ces deux fonctions pour implémenter une logique d'affirmation simple.
La fonction ASSERT () est principalement utilisée dans PHP pour vérifier si une certaine condition est vraie. Si la condition est fausse, une erreur est déclenchée. Cette fonction est souvent utilisée pour déboguer et tester le code, garantissant que les conditions critiques sont toujours vraies pendant le développement.
assert(expression);
L'expression est une expression conditionnelle qui doit être validée. Si le résultat de l'expression est faux, une erreur sera déclenchée.
$age = 20;
assert($age > 18); // si $age Moins ou égal à 18,Un avertissement sera déclenché
Dans le code ci-dessus, Assert () est utilisé pour vérifier si $ l'âge est supérieur à 18 ans. Si la condition est fausse, PHP déclenche un avertissement.
La fonction array_diff_key () est utilisée pour comparer les touches de deux tableaux et renvoie un nouveau tableau contenant les paires de valeurs de clé dans le premier tableau mais pas dans le deuxième tableau.
array_diff_key(array $array1, array $array2): array
Array1 et Array2 doivent être comparés.
Cette fonction renvoie un tableau contenant toutes les touches dans Array1 mais pas dans Array2 .
$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['a' => 4, 'c' => 5];
$result = array_diff_key($array1, $array2);
print_r($result);
Sortir:
Array
(
[b] => 2
)
Dans le code ci-dessus, array_diff_key () compare les clés de $ array1 et $ array2 et renvoie un nouveau tableau qui ne contient que des clés qui sont dans $ array1 mais pas dans $ array2 .
En combinant ASSERT () et array_diff_key () , nous pouvons implémenter une logique d'affirmation simple en vérifiant si un tableau contient les clés nécessaires.
Supposons que nous ayons un tableau associatif qui stocke les informations de base de l'utilisateur, y compris des clés telles que le nom , le courrier électronique et l'âge . Nous voulons vérifier que le tableau contient au moins ces trois clés. Si quelqu'un manque, nous pouvons déclencher une erreur d'assurance.
<?php
// Supposons qu'il s'agit des données utilisateur entrantes
$userData = [
'name' => 'John Doe',
'email' => 'john.doe@m66.net',
// 'age' Clé manquante
];
// Besoin de clés
$requiredKeys = ['name', 'email', 'age'];
// Clé de comparaison
$missingKeys = array_diff_key(array_flip($requiredKeys), $userData);
// si有缺失的键,Déclenche une affirmation
assert(empty($missingKeys), 'Manquer les clés nécessaires:' . implode(', ', array_keys($missingKeys)));
// si断言通过,Continuer à exécuter
echo 'Compléter les données utilisateur,Continuer à traiter...';
?>
Données de l'utilisateur: nous définissons un tableau $ userdata qui contient les informations de base de l'utilisateur. Ici, nous avons délibérément raté la clé d'âge .
Clés requises: le tableau BidisedKeys contient toutes les clés que nous prévoyons apparaître dans les données de l'utilisateur.
Comparez les touches: utilisez array_diff_key () pour comparer les touches dans $ userdata avec les touches dans $ requiredKeys . S'il y a des clés manquantes, le tableau $ MissingKeys contiendra ces clés manquantes.
Affirmation: si le tableau $ manquinsKeys n'est pas vide, cela signifie qu'il manque une clé. Nous déclenchons une erreur d'assertion via la fonction ASSERT () et sortions le nom de la clé manquante.
En combinant affirmer () et array_diff_key () , nous pouvons effectuer des vérifications d'assertion sur les données de tableau très facilement. En particulier lors du traitement de l'entrée des utilisateurs ou de la vérification des données, cette méthode peut assurer l'intégrité des données et éviter les erreurs causées par le manque de données nécessaires dans le code ultérieur. En tant qu'outil de débogage léger, Assert () peut nous aider à saisir des problèmes potentiels en temps opportun pendant la phase de développement, tandis que Array_Diff_Key () nous fournit un moyen concis et efficace de comparer les paires de valeurs clés.
De cette façon, vous pouvez être plus confiant lorsque vous écrivez du code et assurez-vous la stabilité et la fiabilité de votre programme.