David Risner" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]> On Fri, 26 
Mar 2004 10:40:43 -0800, "Marcjon Louwersheimer"
> <[EMAIL PROTECTED]> said:
> > Is there an easier way to do
> > isset($variable) AND $variable != NULL
> > ? I use this alot in my if statements, and I was wondering if there's an
> > easier way to do it, maybe with a single function? Oh and another
> > question... how does if ($variable) work? When does it evaluate true?
> 
> Check out the is_null function.  Itd seems to combine the two.
> 
> http://www.php.net/manual/en/function.is-null.php
>    and
> http://www.php.net/manual/en/language.types.null.php#language.types.null.syntax

As Rasmus noted, (!empty($var)) is a complete aquivalent to (isset($var) && $var != 
null). I ran some more extensive tests which show the following:

class MyClass
{
  var $field = 123;
  function MyClass() {}
}

1. $x = null;
2. $y = 0;
3. $z = '';
4. $w = 'xyz';
5. $t = 123;
6. $o = new MyClass();
7. // $v is not set
--------------------------------
1. isset($x) && $x != NULL: []
2. isset($y) && $y != NULL: []
3. isset($z) && $z != NULL: []
4. isset($w) && $w != NULL: [1]
5. isset($t) && $t != NULL: [1]
6. isset($o) && $o != NULL: [1]
7. isset($v) && $v != NULL: []
--------------------------------
1. isset($x): []
2. isset($y): [1]
3. isset($z): [1]
4. isset($w): [1]
5. isset($t): [1]
6. isset($o): [1]
7. isset($v): []
--------------------------------
1. !empty($x): []
2. !empty($y): []
3. !empty($z): []
4. !empty($w): [1]
5. !empty($t): [1]
6. !empty($o): [1]
7. !empty($v): []
--------------------------------
1. is_null($x): [1]
2. is_null($y): []
3. is_null($z): []
4. is_null($w): []
5. is_null($t): []
6. is_null($o): []
Notice: Undefined variable: v in c:\web\test.php on line 62
7. is_null($v): [1] 

Also, as you see is_null($var) throws a notice when the variable is not defined.

Hope this helps ;)

Regards,
Dimiter

Reply via email to