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
- in the first you check if a variable is false hence the '!'
- here you check if a variable is actually set to some value other then null.
精彩评论