在PHP中将字符串转换为整型

4
    $date = "1346706576967";  // miliseconds
    $newDate = (int) $date;
    echo $newDate;

我得到的 $newDate 是 "2147483647"。

我只想将字符串变量 1346706576967 转换为整型 1346706576967 - 这可能吗?


我有Godaddy的托管,如何更改? - TheLettuceMaster
4个回答

5

2147483647是整数类型能够存储的最大值,不幸的是。在这里,您可以使用浮点类型,因为浮点类型可以准确地保存整数值高达10000000000000。


2
在Will的答案基础上,只需使用$date = "1346706576967"; // 毫秒 $newDate = floatval($date); echo $newDate;即可。 - user1477388

2

这是因为在PHP中,整数的最大值就是这个数。如果要处理更大的整数,可以使用专门用于处理大整数的PHP库,比如BCMath或GMP,或者将其转换为浮点数。


1
可能的转换,
$input => 1346706576967
(integer)$input => 2147483647
intval($input) => 2147483647
$input*1 => 1346706576967
settype($input, "integer") => 1346706576967

http://phpconvert.com/online/


0

您可以使用隐式类型转换来正确地进行转换:

$date = "1346706576967";  // miliseconds
$newDate = 0+$date; // float(1346706576967)
$newDate = (int) $date; // int(2147483647)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接