php5 converts 64 bit integer to double - how force 64-bit?
Question
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?
Solution
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;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow