#20708 [Opn->Bgs]: 'foo'==0 returns true
| From: | rasmus@php.net | Date: | Fri, 29 Nov 2002 00:13:08 +0000 |
| Subject: | #20708 [Opn->Bgs]: 'foo'==0 returns true | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-26123@lists.php.net to get a copy of this message | ||
ID: 20708
Updated by: rasmus@php.net
Reported By: wb@sapo.pt
-Status: Open
+Status: Bogus
Bug Type: Scripting Engine problem
Operating System: linux 2.2.20, linux 2.4.19
PHP Version: 4.2.3
New Comment:
The numerical value of 'foo' is 0. If you want to compare both value
*and* type, use ===
Previous Comments:
------------------------------------------------------------------------
[2002-11-28 18:11:16] wb@sapo.pt
another summary
------------------------------------------------------------------------
[2002-11-28 18:02:32] wb@sapo.pt
sorry, im really not sure if this is a kind of bug or if i'm getting
something wrong: the two lines
echo 'foo'==0 ? 'is true ' : 'is false ';
if('bar'==0) echo 'is true '; else echo 'is false ';
will output:
is true is true
i dont understand why 'foo'==0 returns true.
the way i understand the manual, php should consider 'foo' a nonempty
string and 0 a zero integer. even if it would do a boolean comparison,
according to the manual 'foo' should be juggled to true and 0 should be
juggled to false. how can 'foo'==0 return true? have i missed
something?
i hope i do not resubmit a known issue, i tried some queries but i
really didnt know how to lookup this issue.
this happens with variables as well. i ran into this problem in my
programming when comparing array keys that could be numeric or string.
a 0 array key compared against any nonempty string array key always
returned true. it took me a while to find out that's why my program
didn´t work the way i thought it should.
i hope this is not something that happens only to me, but i have tested
the two lines on three different boxes before writing to you.
my configure line:
./configure' '--with-mysql=/usr/local/mysql'
'--with-apache=../apache_1.3.26' '--enable-ftp'
'--with-zlib-dir=/usr/lib'
Best regards,
wolfgang
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=20708&edit=1