ID:               24054
 Updated by:       [EMAIL PROTECTED]
 Reported By:      spam at oops dot org
-Status:           Open
+Status:           Verified
 Bug Type:         Scripting Engine problem
 Operating System: Linux
 PHP Version:      4.3.2
 New Comment:

It seems that something goes wrong when casting to float on integer
overflow.

$ php -r '$i=10000000; $i*=1001; var_dump($i);'
float(1421485473408)

$ php -r '$i=10000000*1001; var_dump$i);'                   
float(1.001E+10)


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

[2003-06-06 04:25:26] spam at oops dot org

4.3.2 has assignment operateors problem.

<?php
$i = 10000000;
$i *= 1001;
echo $i;
?>

upper code returns "1421485473408".

but

<?php
$i = 10000000;
$i = $i * 1001;
echo $i;
?>

upper code is success return "10010000000".

*= operator has not always problem.

if about bigger than 1000000000, problem is occured. :-)

P.S
sorry for my poor english.

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


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

Reply via email to