2011-02-23 8 views
2

私はPHPが符号なし整数をサポートしていないことを認識していますが、私はjson_decode()でこの問題を解決する方法を知りたいと思います。 2^31以上の符号なし整数を含むJSONをデコードすると、符号付き整数として扱われているため、負の値になります。これは私のphp.iniファイルを設定することで是正することができますか、それともjson_decodeに関する何かが私には得られませんか?PHPでjson_decode()を持つ符号なし整数

答えて

1

PHPの開発版はjson_decode()に計画されています。JSON_BIGINT_AS_STRING(マニュアルのExample#5を参照してください)が、この時点ではまだ修正されていないようです。

this commentもユーザーが投稿したノートを参照してください。

何らかの理由でエンコード側で文字列を出力する可能性がありますか?

+0

ええ、感謝しました!この問題に対処する可能性のある他のjsonデコード技術をお勧めしますか? – Nick

+0

@ニック私はこれを明示的に扱うことができるかどうかわかりません。実行可能であれば、エンコード側で文字列を作成する方が簡単かもしれません! –

+0

ありがとう、私はちょうどエンコーディングに似た何かをやり終え、それは私の問題を解決しました。私たちは、後で生産の修正を待つだけだと思う​​よ! – Nick

0

PHP BC Math extensionを使用することができます。任意精度数学については

は PHPは が文字列として表された任意の大きさと 精度の数をサポートするバイナリ計算機を提供しています。

関連する問題