note 64580 added to function.empty
| From: | ben at wbtproductions dot com | Date: | Wed, 19 Apr 2006 00:40:03 +0000 |
| Subject: | note 64580 added to function.empty | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-108466@lists.php.net to get a copy of this message | ||
It is important to note that empty() does not check data type. This can change the functioning of
any program if, at some point, your data might be all zeroes, containing no real data, but also not
empty by PHP's definition.
Think about this:
$data = "00000";
if (empty($data))
echo "The data appears empty.";
if (0==$data) //Use this test for number applications!!
echo "The data is zero.";
$data = 0;
if (empty($data))
echo "Remember, zero is empty.";
outputs:
The data is zero.
Remember, zero is empty.
This could crop up in ZIP codes and phone numbers or zero-filled/zero-padded values from SQL. Watch
those variable types!
----
Server IP: 216.194.113.175
Probable Submitter: 139.147.175.235
----
X-Spam-Status: No, hits=3.1 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER
autolearn=no version=2.64
----
Manual Page -- http://www.php.net/manual/en/function.empty.php
Edit -- http://master.php.net/note/edit/64580
Del: integrated -- http://master.php.net/note/delete/64580/integrated
Del: useless -- http://master.php.net/note/delete/64580/useless
Del: bad code -- http://master.php.net/note/delete/64580/bad+code
Del: spam -- http://master.php.net/note/delete/64580/spam
Del: non-english -- http://master.php.net/note/delete/64580/non-english
Del: in docs -- http://master.php.net/note/delete/64580/in+docs
Del: other reasons-- http://master.php.net/note/delete/64580
Reject -- http://master.php.net/note/reject/64580
Search -- http://master.php.net/manage/user-notes.php