Maison >développement back-end >tutoriel php >Conseil rapide: comment vérifier si une variable est définie en php

Conseil rapide: comment vérifier si une variable est définie en php

Jennifer Aniston
Jennifer Anistonoriginal
2025-02-08 12:11:11648parcourir

Quick Tip: How To Check if a Variable Is Set in PHP

Ce guide de pointe PHP rapide expliquera comment vérifier si une variable est définie et si elle est définie, quelle est sa valeur - c'est une tâche très courante dans la programmation.

Lors de la vérification si une variable est définie dans PHP, notre première réaction peut être d'utiliser la fonction isset(). Bien que cela fonctionne dans la plupart des cas, si nous regardons la définition de la fonction isset(), nous verrons ce qui suit:

isset(): Détermine si une variable a été déclarée et n'est pas nul.

Cependant, en php, nous pouvons définir la variable sur null:

<code class="language-php"><?php
    $variable = NULL;
    var_dump(isset($variable));</code>

Cette affectation renvoie False - même si nous avons explicitement défini la variable sur NULL! Il s'agit d'une situation qui peut provoquer une certaine confusion en PHP. Dans ce qui suit, nous examinerons la méthode isset() et quand l'utiliser, et quelles autres méthodes nous pouvons utiliser lorsque isset() ne fonctionne pas.

empty() et is_null() apparaissent

Bien que la méthode isset() puisse nous aider à déterminer si une variable a un ensemble de valeur, il ne nous aidera pas si la variable est définie sur NULL. Pour gérer cette situation, nous devons utiliser les fonctions empty() ou is_null(). La fonction empty() déterminera si la variable est vide. Il sera valable pour les situations suivantes (c'est-à-dire le retour vrai):

  • "" (chaîne vide)
  • 0 (entier 0)
  • 0,0 (numéro de point flottant 0)
  • "0" (String 0)
  • null
  • faux
  • array () (tableau vide)
  • $ var; (variable déclarée mais sans valeur)

Cela signifie que nous pouvons utiliser empty() pour déterminer si la variable est vide. Dans ce cas, Null et False sont considérés comme vides:

<code class="language-php"><?php
    $variable = NULL;
    var_dump(empty($variable));</code>

Nous pouvons également utiliser la fonction is_null(). Cette fonction détermine si la variable est nul.

Ce qui suit est un exemple de la façon d'utiliser is_null() pour déterminer si une variable est nul:

<code class="language-php"><?php
    $variable = NULL;
    var_dump(is_null($variable));</code>

La chose la plus importante lors de la gestion des variables PHP est de comprendre la différence entre isset(), is_null() et empty(). Les trois fonctions peuvent être utilisées pour déterminer l'état des variables, mais elles se comportent différemment. Le tableau suivant peut être utilisé pour mettre en évidence les différences entre ces fonctions.

"" "foo" null false 0 Non défini empty() true false true true true True true true is_null() true false false false true false isset() false true (error) true true true false

true true true false

Existe-t-il une seule fonction que nous pouvons utiliser?

L'utilisation get_defined_vars() renvoie un tableau associatif avec la clé comme nom de variable et la valeur comme valeur de variable. Nous ne pouvons toujours pas utiliser isset(get_defined_vars()['variable']) ici car la clé peut exister et la valeur est toujours nulle, nous devons donc utiliser array_key_exists('variable', get_defined_vars()).

Exemple:

<code class="language-php"><?php
    $variable = NULL;
    var_dump(isset($variable));</code>

En utilisant get_defined_vars() de cette façon, nous pouvons déterminer à 100% si nous vérifions si la variable est définie.

Conclusion

Dans ce court article, nous discutons de la façon de vérifier si une variable est définie en PHP. Nous avons également examiné les différences entre l'ensemble, vide et nul, ainsi que des considérations clés pour garder à l'esprit lors de l'utilisation de fonctions communes isset(), is_null() et empty(). Ainsi, la prochaine fois que vous devrez vérifier l'état de la variable PHP, vous aurez toutes les informations dont vous avez besoin afin que vous puissiez choisir la bonne méthode et désamorcer toute l'ambiguïté de votre code.

FAQ pour la vérification des variables PHP (FAQ)

Quel est le but de la fonction

en php? isset()

La fonction

dans PHP est utilisée pour déterminer si la variable est définie et non nul. Si la variable existe et n'est pas nul, cette fonction renvoie vrai, sinon faux. Il s'agit d'une fonction utile pour éviter les erreurs lorsque vous essayez d'accéder aux variables qui peuvent ne pas exister ou peuvent avoir des valeurs nulles. isset() Quelle est la différence entre la fonction

et la fonction

dans isset() en php? empty()

Bien que les fonctions

et isset() soient utilisées pour vérifier les valeurs des variables, elles fonctionnent légèrement différemment. La fonction empty() vérifie si la variable est définie et non nul. D'un autre côté, la fonction isset() vérifie si la variable est vide. Si la variable n'existe pas ou si sa valeur est égale à False, la variable est considérée comme vide. Par conséquent, si la variable n'est pas définie ou si sa valeur est de 0, 0,0, "", "0", null, false, array () ou une variable unset, empty() renvoie True. empty()

Puis-je utiliser la fonction

pour vérifier si la clé de tableau existe? isset()

Oui, vous pouvez utiliser la fonction

pour vérifier s'il existe une clé spécifique dans le tableau. Si la clé existe et que sa valeur n'est pas nul, isset() reviendra vrai. Si la clé n'existe pas ou si sa valeur est nul, isset() reviendra false. isset()

Comment vérifier si plusieurs variables sont définies en PHP?

Vous pouvez vérifier si plusieurs variables sont définies en passant plusieurs variables à la fonction

. Cette fonction renvoie vrai uniquement si toutes les variables spécifiées sont définies et non nulles. isset()

Que se passe-t-il si j'utilise

pour les variables non définies? isset()

Si vous utilisez

pour les variables non set, il renverra faux. En effet, la fonction isset() dans PHP est utilisée pour détruire la variable spécifiée, donc une fois la variable non set, elle n'est plus définie et sa valeur est considérée comme nul. unset()

Puis-je utiliser isset() pour vérifier si la variable est définie sur 0?

Oui, vous pouvez utiliser isset() pour vérifier si la variable est définie sur 0. La fonction isset() vérifie uniquement si la variable est définie et non nul. Il ne vérifie pas la valeur de la variable. Par conséquent, si la variable est définie sur 0, isset() reviendra True.

Comment utiliser isset() pour éviter les erreurs variables non définies?

Vous pouvez utiliser isset() pour vérifier si la variable est définie avant d'essayer de l'utiliser, évitant ainsi les erreurs de variable non définies. Si isset() renvoie faux, cela signifie que la variable n'est pas définie et que vous pouvez éviter de l'utiliser, empêchant ainsi les erreurs de variables non définies.

Puis-je utiliser isset() avec les propriétés d'objet en PHP?

Oui, vous pouvez utiliser isset() avec les propriétés d'objet en php. La fonction isset() peut être utilisée pour vérifier si les propriétés existent dans l'objet. Si la propriété existe et que sa valeur n'est pas nul, isset() reviendra vrai.

Quelle est la différence entre isset() et is_null() dans

?

La fonction isset() is_null() vérifie si la variable est définie et non nul, tandis que la fonction isset() vérifie si la variable est nul. Donc, si la variable est définie sur NULL, is_null() reviendra False et

reviendra True.

isset() Puis-je utiliser

pour vérifier si le champ de formulaire a été rempli?

isset() Oui, vous pouvez utiliser isset() pour vérifier si le champ de formulaire a été rempli. Lorsqu'un formulaire est soumis, le champ de formulaire est envoyé au serveur en tant que variable. Vous pouvez utiliser

pour vérifier si ces variables sont définies, ce qui indique que le champ de formulaire a été rempli.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn