ID: 43053 Comment by: rbro at hotmail dot com Reported By: owner at dragon-hearts dot net Status: Verified Bug Type: Scripting Engine problem Operating System: Centos4 PHP Version: 5CVS-2007-10-25 New Comment:
I agree - to me, this is a BC break that wasn't listed on any changelog or announcement. I have been holding off on upgrading my PHP version to anything later than 5.2.1 because of this issue. Previous Comments: ------------------------------------------------------------------------ [2008-03-04 23:07:43] tech at dragonara dot net We have the same bug, and really - cPanel does not support 5.1 anymore, so we are really in stupid situation. ------------------------------------------------------------------------ [2008-02-09 13:20:23] lhfagundes at gmail dot com This gets bad if the float is casted to string (which happens if it goes through requests): $x = 1200000000.00; echo $x . "\n"; echo (int)$x . "\n"; $x = "$x"; echo (int) $x . "\n"; In PHP 4.4.2 (I guess in earlier php5 too) 1200000000 1200000000 1200000000 now: 1.2E+9 1200000000 1 ------------------------------------------------------------------------ [2008-01-28 13:39:47] gcleaves at yahoo dot com dot au Same problem: PHP Version 5.2.4 Windows NT HGCT-SQL 5.2 build 3790 Apache 2.0 Handler ------------------------------------------------------------------------ [2008-01-26 02:18:38] [EMAIL PROTECTED] This issue is still present in PHP 5.2.5 (FreeBSD). It only happens on some floats. If there is a reason for using E-notation in this case - which could be argued, although I feel changing past behavior is not necessary, especially as MySQL has trouble handling these values in common scenarios - it should be made consistent so people can depend on it and prevent problems by testing. <?php echo phpversion() . "\n"; echo 2700000.0; echo "\n"; echo 2800000.0; echo "\n"; echo 2900000.0; echo "\n"; ?> devwh:~> php floats.php 5.2.1 2700000 2800000 2900000 test:~> php floats.php 5.2.4 2700000 2.8E+6 2900000 toms1:~> php floats.php 5.2.5 2700000 2.8E+6 2900000 ------------------------------------------------------------------------ [2008-01-18 21:42:38] nate at recoverydatabase dot net We just got bit by this on one of our servers running Fedora 7 and PHP 5.2.4 installed via yum. The others not causing any headaches are running Fedora 6 and PHP 5.1.6. It's not just a display problem - we have a mysql database with very large values in the primary keys, and when this server tries to insert data, or display, or lookup information based on those values it fails miserably. A php.ini option to disable the notation behavior would be nice. As for right now I must get back to downgrading. :( ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/43053 -- Edit this bug report at http://bugs.php.net/?id=43053&edit=1