$ms = microtime(true);
$ts = $ms * 10;
$i = substr($ts, 0,strpos($ts, "."));
echo " A: ". $ms;
echo " B: ". $ts;
echo " C: ". $i;
echo " D: ". intval($i);
echo " E: ". (int)$i;
示例:
A:1382292940.8799
B:13822929408.799
C:13822929408
D:2147483647
E:2147483647
但是
E = / = C&& D = / = C
为什么会这样?
答案 0 :(得分:4)
你遇到的问题是溢出问题。 32位整数可容纳40亿,有些未签名,只有20亿,有些签名。您要转换为整数的数字远大于:
13,822,929,408
因此,您将看到2147483647,即32位有符号整数的限制。