PHP7.1 json_encode()フロートの問題
これはもっと注意が必要なので、問題ではありません。json_encode()PHP7.1.1を使用するアプリケーションを更新しましたが、フロートが17桁に拡張されることがあるという問題が発生していました。ドキュメントによると、PHP 7.1.xは、serialize_precisiondouble値をエンコードするときに精度の代わりに使用し始めました。私はこれが例の値を引き起こしたと推測しています 472.185 になる 472.18500000000006 その値が通過した後json_encode()。発見してから、PHP 7.0.16に戻り、json_encode()。の問題は発生しなくなりました。また、PHP 7.0.16に戻す前に、PHP7.1.2に更新しようとしました。 この質問の背後にある理由は、PHP-浮動小数点精度に由来しますが、これのすべての理由は、の精度からserialize_precisionの使用法への変更によるものjson_encode()です。 誰かがこの問題の解決策を知っているなら、私は推論/修正について聞いて喜んでいます。 多次元配列からの抜粋(前): [staticYaxisInfo] => Array ( [17] => stdClass Object ( [variable_id] => 17 [static] => 1 [min] => 0 [max] => 472.185 [locked_static] => 1 ) ) そして通過した後json_encode()... "staticYaxisInfo": { "17": { "variable_id": "17", "static": "1", "min": 0, "max": 472.18500000000006, …