简体   繁体   中英

php5 converts 64 bit integer to double - how force 64-bit?

in php5, pass a 64bit integer, 1707541557936130 through GET, but it shows value of 1.7075415579361E+15

how can I force php to use large integers as integers, not as float

when I shift << apparently the result of that is int32 as well, not int64

is there a way to globally say use int64?

PHP supports 64bit integers only on 64bit systems. In both cases integers, that are larger than PHP_INT_MAX, are converted to floats. see manual .

Try this code:

<?php
$i=1707541557936130;
var_dump($i);    
echo PHP_INT_MAX;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM