[PHP-DEV] Re: empty() II From: Zeev Suraski (bourbon <email protected>)
Date: 05/30/98

At 16:08 30/05/98 +0200, Jan Legenhausen wrote:
>I just discovered that empty($test) also says "TRUE" for $test=0.
>
>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"...

empty() was designed *exactly* for this. Basically, when you want to
ensure that form fields were properly sent, and that they were filled with
something - you check that they're not empty(). If empty() returns true -
it means they're both set, *and* something was typed into them.
The definition of empty() on non-strings isn't all that interesting.

By the way, yes, if ("0") => false is intentional.

Zeev

--
Zeev Suraski   <zeev <email protected>>
For a PGP public key, finger bourbon <email protected>