isset() et empty() - que utiliser
P粉165522886
P粉165522886 2023-10-16 20:54:57
0
2
544

Pouvez-vous m'aider à améliorer mon style de codage ? :) Dans certaines tâches, je dois vérifier - si une variable est vide ou contient quelque chose. Pour résoudre cette tâche, je fais généralement ce qui suit.

Vérification - Cette variable est-elle déjà définie ? S'il est défini - je vérifie - est-il vide ?

<?php
    $var = '23';
    if (isset($var)&&!empty($var)){
        echo 'not empty';
    }else{
        echo 'is not set or empty';
    }
?>

J'ai une question : dois-je utiliser isset() avant empty() - est-ce nécessaire ? TIA !

P粉165522886
P粉165522886

répondre à tous(2)
P粉514458863

Dans votre cas précis : if ($var).

Si vous ne savez pas si la variable existe, vous devez utiliser isset. Puisque vous l'avez déclaré sur la première ligne, vous savez qu'il existe, donc vous n'avez pas besoin, et non, isset。由于您在第一行声明了它,因此您知道它存在,因此您不需要,不,不应该使用issetne devriez pas

utiliser isset.

empty 也是如此,只是 empty 还结合了对值的真实性的检查。 empty 相当于 !isset($var) || !$var!empty 相当于 isset($var) && $varisset($var) && $var ==正确La même chose est vraie pour empty, sauf que empty intègre également une vérification de l'

authenticité

de la valeur. empty est équivalent à !isset($var) || !$var et !empty est équivalent à isset($var) && $var ou isset($var) && $var ==Correct. Si vous souhaitez simplement tester la vérité d'une variable qui if ($var)devrait exister

, 🎜 est tout à fait suffisante. .🎜
P粉458913655

Cela dépend de ce que vous recherchez, si vous voulez juste voir s'il est vide, utilisez empty 因为它也会检查它是否已设置,如果您想知道某些内容是否已设置设置或不使用 isset.

Empty Vérifiez si la variable a été définie. Si elle est définie, vérifiez si la variable est nulle, "", 0, etc.

Isset Vérifiez simplement s'il est défini, cela peut être n'importe quoi qui n'est pas vide

Pour , sont considérés comme vides :

  • ""(chaîne vide)
  • 0 (0 sous forme d'entier)
  • 0.0 (0 sous forme de nombre à virgule flottante)
  • "0" (0 comme chaîne)
  • vide
  • Erreur
  • array() (tableau vide)
  • var $var; (une variable est déclarée mais n'a aucune valeur dans la classe)

De http://php.net/manual/en/function.empty.php


Comme mentionné dans les commentaires, l'absence d'avertissements est également importante pour empty()

Manuel PHP dit

À propos de la question

Manuel PHP dit


Votre code fera :


Par exemple :

$var = "";

if(empty($var)) // true because "" is considered empty
 {...}
if(isset($var)) //true because var is set 
 {...}

if(empty($otherVar)) //true because $otherVar is null
 {...}
if(isset($otherVar)) //false because $otherVar is not set 
 {...}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal