Position actuelle: Accueil> Derniers articles> Combiner iSset et IS_NULL pour déterminer si une variable a été définie et nul

Combiner iSset et IS_NULL pour déterminer si une variable a été définie et nul

gitbox 2025-05-29

La différence entre isset () et is_null ()

    • Utilisé pour déterminer si la variable a été définie et que la valeur n'est pas nulle .

    • Si la variable n'existe pas ou si la valeur de la variable est nul , isset () renvoie false .

    • Notez que ISSET () prend en charge la détection de plusieurs variables à la fois, et ne renvoie que si toutes les variables sont définies et non nulles .

  • is_null ()

    • Déterminez si la valeur de la variable est nul et ne se soucie pas de savoir si la variable a été définie.

    • Si la variable n'existe pas, un avertissement sera déclenché (avis: variable non définie).


Combiner iSset et IS_NULL pour déterminer si la variable est définie et nul

L'utilisation d'ISSet () à elle seule ne peut pas dire si la variable est nul , car isset () renvoie false pour les variables avec une valeur de nul , ce qui signifie que la variable peut être indéfinie ou nul , et les deux ne peuvent pas être distinguées.

L'utilisation d'Is_Null () seul rapportera également une erreur lorsque la variable n'est pas définie.

Nous devons donc d'abord utiliser isset () pour déterminer s'il existe la variable, puis utiliser is_null () pour déterminer s'il est nul . Cela peut distinguer avec précision entre "variable non définie" et "variable null".


Exemple de code

 <?php
// Supposons que la variable à détecter est $var

if (isset($var)) {
    // Variable définie,Déterminez si c&#39;est null
    if (is_null($var)) {
        echo '$var Défini et la valeur est null';
    } else {
        echo '$var Défini et la valeur n&#39;est pas null';
    }
} else {
    echo '$var Indéfini';
}
?>

Exemple d'optimisation supplémentaire: fonction d'encapsulation

La logique ci-dessus peut être encapsulée en une fonction pour une réutilisation facile:

 <?php
function isDefinedAndNull(&$var): bool {
    return isset($var) && is_null($var);
}

// Exemple d&#39;utilisation
if (isDefinedAndNull($var)) {
    echo '$var Défini et comme null';
} else {
    echo '$var Indéfini或不为 null';
}
?>

Notez que la référence et $ var est utilisée ici pour empêcher que l'avis soit déclenché lorsque la variable n'est pas définie.


Instructions supplémentaires

  • Lorsque la variable n'est pas définie , elle générera un avertissement.

  • Utilisé conjointement peut éviter les avertissements inutiles tout en distinguant avec précision les états variables.

  • isset () détermine non seulement si elle est définie, mais détermine également s'il est nul .

  • Si vous voulez simplement déterminer si la variable existe (ne pas voir si elle est nul ), utilisez simplement ISSet () .


Résumer

En combinant isset () et is_null () , il est possible de juger avec précision si la variable a été définie et que la valeur est nul , en évitant une erreur de jugement ou un avertissement lorsqu'il est utilisé seul. Dans le développement réel, ces jugements sont particulièrement adaptés au traitement des variables qui peuvent ne pas être initialisées pour assurer la robustesse du code.