Re: [PHP-DEV] empty() II From: Rasmus Lerdorf (rasmus <email protected>)
Date: 05/30/98

> I just discovered that empty($test) also says "TRUE" for $test=0.

empty() was added to handle form data, for the most part. All form data
comes across as strings. I don't really see the point in using empty() on
integers. If you want to know if a variable is defined or not, use
isset().

> Now i think i begin to understand what empty() is good for... :)
> It gives TRUE if the given value for that given type corresponds to the
> value of 0. Unset variables are supposed to also have a value of 0. A
> string value of "0" isn't considered as empty - but "if ($test)" results
> in FALSE (is this intentional?).
> For me, this all makes things not _so_ easy, if all i want to ensure is
> to catch POSTed form vars and distinguish between fields not filled and
> fields filled with "0"...

And this is exactly what empty() does.

-Rasmus