0

たとえば、かなり大きなIDを返信しているFacebook APIとやり取りしています

$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 に答える