Bug #44999 [Com]: 0 equals any string

From: Date: Fri, 24 Aug 2012 08:16:07 +0000
Subject: Bug #44999 [Com]: 0 equals any string
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-172860@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=44999&edit=1

 ID:                 44999
 Comment by:         bugs dot php dot net at simoneast dot net
 Reported by:        ethan dot nelson at ltd dot org
 Summary:            0 equals any string
 Status:             Not a bug
 Type:               Bug
 Package:            Scripting Engine problem
 Operating System:   windows 2003
 PHP Version:        5.2.6
 Block user comment: N
 Private report:     N

 New Comment:

This is quite ridiculous.  Can this 'feature' of PHP *please* be reconsidered?


Previous Comments:
------------------------------------------------------------------------
[2008-05-14 22:25:51] ethan dot nelson at ltd dot org

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.

------------------------------------------------------------------------
[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 https://bugs.php.net/bug.php?id=44999&edit=1


Thread (9 messages)

« previous php.bugs (#172860) next »