isset() und empty() – was zu verwenden ist
P粉165522886
P粉165522886 2023-10-16 20:54:57
0
2
434

Können Sie mir helfen, meinen Programmierstil zu verbessern? :) Bei manchen Aufgaben muss ich prüfen, ob eine Variable leer ist oder etwas enthält. Um diese Aufgabe zu lösen, gehe ich normalerweise wie folgt vor.

Überprüfen – Ist diese Variable bereits gesetzt? Wenn es gesetzt ist – ich überprüfe – ist es leer?

Ich habe eine Frage – sollte ich isset() vor empty() verwenden – ist das notwendig? TIA!

P粉165522886
P粉165522886

Antworte allen (2)
P粉514458863

在您的特定情况下:if ($var)

如果您不知道变量是否存在,则需要使用isset。由于您在第一行声明了它,因此您知道它存在,因此您不需要,不,不应该使用isset

对于empty也是如此,只是empty还结合了对值的真实性的检查。empty相当于!isset($var) || !$var!empty相当于isset($var) && $varisset($var) && $var ==正确

如果您只想测试一个应该存在的变量的真实性if ($var)就完全足够了。 .

    P粉458913655

    这取决于您要查找的内容,如果您只是想查看它是否为空,请使用empty因为它也会检查它是否已设置,如果您想知道某些内容是否已设置设置或不使用isset

    Empty检查变量是否已设置,如果设置了,则检查变量是否为 null、""、0 等

    Isset只是检查它是否已设置,它可以是任何不为空的内容

    对于,以下内容被视为空:

    • ""(空字符串)
    • 0(0 作为整数)
    • 0.0(0 作为浮点数)
    • “0”(0 作为字符串)
    • 错误
    • array()(空数组)
    • var $var; (声明了一个变量,但在类中没有值)

    来自http://php.net/manual/en/function.empty.php


    正如评论中提到的,对于empty(),缺乏警告也很重要

    PHP 手册

    关于问题

    PHP 手册


    你的代码就可以了:

               

    例如:

    $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 {...}
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!