recherche

Maison  >  Questions et réponses  >  le corps du texte

isset() et empty() - que utiliser

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粉165522886P粉165522886411 Il y a quelques jours551

répondre à tous(2)je répondrai

  • P粉514458863

    P粉5144588632023-10-17 19:55:24

    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. .🎜

    répondre
    0
  • P粉458913655

    P粉4589136552023-10-17 12:42:26

    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 
     {...}

    répondre
    0
  • Annulerrépondre