Maison > développement back-end > Problème PHP > La différence entre php isset() et empty()

La différence entre php isset() et empty()

(*-*)浩
Libérer: 2023-02-25 21:50:01
original
2024 Les gens l'ont consulté

Lorsque j'utilise PHP pour écrire des programmes de page, j'utilise souvent des fonctions de traitement de variables pour déterminer si une valeur de variable à la fin de la page PHP est vide. Au début, j'avais l'habitude d'utiliser la fonction empty(), mais je l'ai fait. a trouvé quelques problèmes, utilisez donc la fonction isset() à la place et le problème ne se produit plus.

La différence entre php isset() et empty()

Comme son nom l'indique, empty() détermine si une variable est "vide" et isset() détermine si une variable a été définie.

C'est ce qu'on appelle "comme son nom l'indique" qui m'a fait faire quelques détours au début : lorsqu'une valeur de variable est égale à 0, empty() sera aussi vrai (True) , donc certaines choses vont arriver Accident. (Apprentissage recommandé : Tutoriel vidéo PHP)

Il s'avère que bien que empty() et isset() soient toutes deux des fonctions de traitement de variables, elles sont utilisées pour déterminer si la variable a été configurée, mais ils ont Certaines différences : empty détectera également si la variable est vide ou nulle. Lorsqu'une valeur de variable est 0, empty() considère que la variable est équivalente à être vide, ce qui équivaut à ne pas être définie.

Par exemple, pour détecter la variable $id, lorsque $id=0, utilisez empty() et isset() pour détecter si la variable $id a été configurée. Les deux renverront des valeurs différentes ​. ​- empty() pense que sans configuration, isset() peut obtenir la valeur de $id :

$id=0;
    empty($id)?print "It's empty .":print "It's $id ."; 
      //结果:It's empty .
    print "<br>";
    !isset($id)?print "It&#39;s empty .":print "It&#39;s $id .";
      //结果:It&#39;s 0 .
Copier après la connexion

Cela signifie que lorsque nous utilisons la fonction de traitement des variables, lorsque la variable peut avoir une valeur de 0, être Soyez prudent lorsque vous utilisez empty(), il serait plus sage de le remplacer par isset à ce stade.

Lorsque le paramètre URL tail d'une page php apparaît id=0 (par exemple : test.php?id=0), essayez de comparer :

if(empty($id)) $id=1; - 若 id=0 ,id 也会为1
if(!isset($id)) $id=1; - 若 id=0 ,id 不会为1
Copier après la connexion

Vous pouvez exécuter le code suivant séparément pour détecter l'inférence ci-dessus :

 if(empty($id)) $id=1;
    print $id; // 得到 1

    if(!isset($id)) $id=1;
    print $id; //得到 0
Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal