为什么我应该使用if (isset($var)) {}而不是仅仅使用if ($var) {}?它似乎做同样的事情,只是需要额外的处理。谢谢!
2 回答
6
原因
原因是,isset()当您检查变量是否存在并继续时,将返回布尔值并且不会引发警告。此外,变量可能具有零值:
false0""
但它们已经设置好了。
例子
$varb = false;
$vari = 0;
$vars = "";
isset($varb) // true
isset($vari) // true
isset($vars) // true
if ($varb) // false
if ($vari) // false
if ($vars) // false
于 2013-03-08T03:43:16.960 回答
1
您用于isset()检查是否已声明变量。
另一种方法检查有什么值$var。因此,如果$var碰巧包含false,则条件将为 false,但您不会知道变量是否未设置或变量包含false。
于 2013-03-08T03:46:20.200 回答