Bug #14343 Updated: in_array wrongly matches zero
| From: | torben@php.net | Date: | Wed, 13 Feb 2002 22:02:28 +0000 |
| Subject: | Bug #14343 Updated: in_array wrongly matches zero | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-277@lists.php.net to get a copy of this message | ||
ID: 14343
Updated by: torben@php.net
Reported By: davidw@ensky.com
Status: Bogus
Bug Type: Arrays related
Operating System: Linux/PPC
PHP Version: 4.0.5
New Comment:
We did, years ago.
http://www.php.net/manual/en/language.types.string.php#language.types.string.conversion
Torben
Previous Comments:
------------------------------------------------------------------------
[2002-02-13 16:30:12] jonas@delfs.dk
It would be very nice if you guys would document this "feature" so
people like me don't spend too much valueable time on such a thing.
------------------------------------------------------------------------
[2001-12-04 16:00:21] davidw@ensky.com
Doh! I should have known that.
------------------------------------------------------------------------
[2001-12-04 15:49:37] derick@php.net
Not a bug... PHP indeed tries to convert 'foobar' to a number, and
because that is not really possible, it becomes 0. That's why there is
that third parameter too.
Derick
------------------------------------------------------------------------
[2001-12-04 15:37:18] davidw@ensky.com
On my system, in_array wrongly returns true when searching
for zero in arrays that don't contain zero:
Sample code:
in_array(0, array('foobar'));
-->TRUE
If I add the third parameter, it returns the correct
result:
print in_array(0, array('foobar'), true);
-->FALSE
However, I'm pretty sure that 0 doesn't coerce to 'foobar'
- I don't think PHP is that loosely-typed :)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=14343&edit=1