有没有理由使用isset()?

时间:2013-03-08 03:42:21

标签: php isset

为什么我应该使用if (isset($var)) {}而不仅仅是if ($var) {}?它似乎做同样的事情,只是采取额外的处理。谢谢!

2 个答案:

答案 0 :(得分:6)

<强>原因

原因是,isset()将返回布尔值,并在检查变量是否存在时不会发出警告并继续。此外,变量可能具有零值:

  1. false
  2. 0
  3. ""
  4. 但他们已经确定了。


    示例

    $varb = false;
    $vari = 0;
    $vars = "";
    
    isset($varb) // true
    isset($vari) // true
    isset($vars) // true
    
    if ($varb) // false
    if ($vari) // false
    if ($vars) // false
    

答案 1 :(得分:1)

您使用isset()检查是否已声明变量。

另一种方法检查$var的值。因此,如果$var碰巧包含false,则条件将为false,但您不会设置变量是否未设置或变量是否包含false