$date = "1346706576967"; // miliseconds
$newDate = (int) $date;
echo $newDate;
我得到的 $newDate 是 "2147483647"。
我只想将字符串变量 1346706576967 转换为整型 1346706576967 - 这可能吗?
2147483647是整数类型能够存储的最大值,不幸的是。在这里,您可以使用浮点类型,因为浮点类型可以准确地保存整数值高达10000000000000。
$date = "1346706576967"; // 毫秒 $newDate = floatval($date); echo $newDate;
即可。 - user1477388这是因为在PHP中,整数的最大值就是这个数。如果要处理更大的整数,可以使用专门用于处理大整数的PHP库,比如BCMath或GMP,或者将其转换为浮点数。
$input => 1346706576967
(integer)$input => 2147483647
intval($input) => 2147483647
$input*1 => 1346706576967
settype($input, "integer") => 1346706576967
您可以使用隐式类型转换来正确地进行转换:
$date = "1346706576967"; // miliseconds
$newDate = 0+$date; // float(1346706576967)
$newDate = (int) $date; // int(2147483647)