开发者

What's the difference between if(!$variable) and if(isset($variable))?

What is the difference between if(!$variable) and if开发者_如何学JAVA(isset($variable))?


Well, the answer is pretty simple. isset($var) returns whether or not a variable exists and is not null, where !$var tells you if that variable is true, or anything that evaluates to true (such as a non-empty string). This is summarized in the first table of this documentation page.

Also, using !$var will output a notice that you're using an undefined variable, whereas isset($var) won't do that.

Mind you, they are two different things:

<?php
var_dump( isset($foo) ); // false.
var_dump( !$foo );       // true, but with a warning.

$foo = false;
var_dump( isset($foo) ); // true
var_dump( !$foo );       // true.


If a variable is not set, then you will get a warning when using if(!Variable).


They are two different statements

  1. in the first you check if a variable is false hence the '!'
  2. here you check if a variable is actually set to some value other then null.
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜