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