#45712 [Opn->Ctl]: $something == NaN returns true with 5.3, false with 5.2.*

From: Date: Tue, 05 Aug 2008 11:14:35 +0000
Subject: #45712 [Opn->Ctl]: $something == NaN returns true with 5.3, false with 5.2.*
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-127615@lists.php.net to get a copy of this message
 ID:               45712
 Updated by:       jani@php.net
-Summary:          $something == NaN returns true with PHP 5.3.0, which
                   returns false until 5.2.6
 Reported By:      for-bugs at hnw dot jp
-Status:           Open
+Status:           Critical
 Bug Type:         Variables related
-Operating System: MacOSX
+Operating System: *
 PHP Version:      5.3.0alpha1


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

[2008-08-05 02:39:58] for-bugs at hnw dot jp

Description:
------------
There is == operator's problem dealing with NaN(Not a Number) in PHP
5.3.0alpha1. This behavior is different with PHP 5.0.0-5.2.6, so this is
compatibility problem.

Reproduce code:
---------------
<?php

$nan = (-1e300*1e300)/(1e300*1e300); // float(NAN)

var_dump($nan=='');
var_dump($nan==0.5);
var_dump($nan==50);
var_dump($nan=='500');
var_dump($nan=='abc');
var_dump($nan==$nan);

Expected result:
----------------
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)

Actual result:
--------------
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)


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


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



Thread (10 messages)

« previous php.bugs (#127615) next »