ID:               39531
 Updated by:       [EMAIL PROTECTED]
 Reported By:      jakobsg at gmail dot com
 Status:           Bogus
 Bug Type:         Variables related
 Operating System: All
 PHP Version:      4.4.4
 New Comment:

No, I haven't missed the point at all -- you have.  In that table, the
last row and last column have the heading "php" which is intended to
represent *all* strings except the 3 explicitly mentioned elsewhere --
this would include the string "o".

(This conversion of non-numeric strings to zero is also noted at
http://www.php.net/manual/en/language.types.string.php#language.types.string.conversion)


Previous Comments:
------------------------------------------------------------------------

[2006-11-17 11:56:54] jakobsg at gmail dot com

OK, I think you missed the point. It's not the stringified zero ("0")
I'm talking about, it's the letter "o" that evaluates true when
compared with zero. The letter "o" is no where en the O-2 table. Sorry
if we have been talking about apples and bananas :-)

------------------------------------------------------------------------

[2006-11-17 10:49:01] [EMAIL PROTECTED]

Er -- yes it is. Table O-2, to be specific.

------------------------------------------------------------------------

[2006-11-16 21:07:15] jakobsg at gmail dot com

Is there some where in particular I should look?

It's not here:
http://www.php.net/manual/da/types.comparisons.php

------------------------------------------------------------------------

[2006-11-16 11:15:44] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php



------------------------------------------------------------------------

[2006-11-16 11:08:28] jakobsg at gmail dot com

Description:
------------
This is pretty straight forward.
The soft evaluation (==) feature in php can be nice, personally I never
use it, but I acknowledge that it can be useful in some situations.
The result of the following evaluation however is not acceptable by any
means (even in soft evaluation):

0 == '0'  (true, and acceptable)
0 == 'o'  (true, really!!!)

0 == 'o' are equal ... Common - this can only lead to errors.

Best regards Jakob Simon-Gaarde

Reproduce code:
---------------
var_export(0=='o');

Expected result:
----------------
false

Actual result:
--------------
true


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=39531&edit=1

Reply via email to