0

我正在与 facebook api 交互,例如,它向我发送了一些相当大的 id

$facebook_action['id'] => "123540931515315"
intval($facebook_action['id']) gives me "2147483647"

在我的数据库中,我计划将它存储为一个整数,但是这些可能太大,因为在 php 转换中返回给我最大的 int 值。我应该将它们存储为字符串还是如何处理?

在 MySQL 中,我看到我可以使用 BIG INTEGER 但是如何在 PHP 中处理它?

4

2 回答 2

1

将您的系统升级到 64 位架构以处理大整数值 :)

您获得 2147483647 的原因在intval的“返回值”部分中明确说明。

即 32 位系统的最大有符号整数范围为 -2147483648 到 2147483647。

于 2013-08-11T02:51:02.157 回答
1

您超出了 PHP 中整数类型的限制。32 位系统的最大有符号整数范围为 -2147483648 到 2147483647。因为您使用的值超过 2147483647,它存储 2147483647。请参阅http://php.net/manual/en/function.intval.php。您可能想要执行某些评论者的建议,并改用 varchar,尤其是当这些值可能包含非数字字符时。

于 2013-08-11T02:51:09.613 回答