سؤال

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;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top