PHPで、JSON形式の値をデコードするときに、なにやら大きな数をうっかり入れていると、floatになるみたい。正の数の最大値は、32bitで2,147,483,6487(2^31-1)となる模様。これを超えた値だと、float型(1.00000239289...とか)に自動的に変換されるみたい。
解決策: <= PHP5.4
PHP5.4以上だとなにやら第四引数で、大きな数字の扱い方を指定できるみたい
http://php.net/manual/en/function.json-decode.php
解決策:< PHP5.3
PHP5.3以下の場合は、コメント欄に書かれている
http://php.net/manual/en/function.json-decode.php#105892
大きな数字を文字列に変換してくれます。
FacebookのAPI使ってて、idがfloatに変換されててなんだこりゃあああああああああああって思っただけ・・・・。
解決策: <= PHP5.4
PHP5.4以上だとなにやら第四引数で、大きな数字の扱い方を指定できるみたい
http://php.net/manual/en/function.json-decode.php
解決策:< PHP5.3
PHP5.3以下の場合は、コメント欄に書かれている
http://php.net/manual/en/function.json-decode.php#105892
number_format($bigInt, 0, '', '');がよさげみたい。
大きな数字を文字列に変換してくれます。
FacebookのAPI使ってて、idがfloatに変換されててなんだこりゃあああああああああああって思っただけ・・・・。