#44999 [Bgs]: 0 equals any string
ID: 44999
User updated by: ethan dot nelson at ltd dot org
Reported By: ethan dot nelson at ltd dot org
Status: Bogus
Bug Type: Scripting Engine problem
Operating System: windows 2003
PHP Version: 5.2.6
New Comment:
I don't recall PHP ever behaving that way.
So how do you alter a switch statement to use the identical operator
instead of equivalency?
It seems somewhat odd that any text character would be equvalent to
integer 0. As I remember the chart it was something like:
0 == '0' true
0 == '' true
0 == null true
0 == false true
0 == 'text' false
Basically if we are going to treat any string as equivalent to 0, the
switch statement becomes useless when iterating through arrays unless
you first strip key names of integer 0.
Previous Comments:
------------------------------------------------------------------------
[2008-05-14 22:20:01] cellog@php.net
see Bug #44990 for explanation
------------------------------------------------------------------------
[2008-05-14 21:51:49] ethan dot nelson at ltd dot org
Description:
------------
Right now, 0 compared to any string will prove true.
Reproduce code:
---------------
<?php
if (0 == 'anystring') echo "True";
else echo "False";
?>
Expected result:
----------------
False
Actual result:
--------------
True
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=44999&edit=1
Thread (9 messages)