【PHP8.x】JSON_PRESERVE_ZERO_FRACTION定数の使い方
JSON_PRESERVE_ZERO_FRACTION定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
JSON_PRESERVE_ZERO_FRACTION定数は、PHPでデータをJSON形式に変換する際に、浮動小数点数の表現方法を制御するために使用される定数です。この定数は、json_encode()関数のオプションとして渡すことで利用できます。
通常、PHPでは1.0のような小数点以下が0の浮動小数点数をJSON形式に変換すると、その値は整数として表現されます。例えば、PHPの数値1.0はJSONでは1と出力されます。しかし、JSON_PRESERVE_ZERO_FRACTION定数を指定した場合、小数点以下が0であっても、元の浮動小数点数として正確に表現されるようになります。つまり、1.0はJSONでも1.0として出力されます。
この機能は、特にJSONデータを受け取る側のシステムが、数値のデータ型(整数か浮動小数点数か)を厳密に区別する必要がある場合に重要となります。例えば、JavaScriptなどのフロントエンドアプリケーションでは、1と1.0が異なる型として扱われ、特定の処理のトリガーとなることがあります。そのため、PHPからJSONデータを生成する際に、数値の型を意図した通りに保持したい場合に、この定数が非常に役立ちます。
JSON_PRESERVE_ZERO_FRACTION定数は、PHP 5.6.6以降のバージョンで利用可能です。
構文(syntax)
1json_encode($value, JSON_PRESERVE_ZERO_FRACTION);
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
JSON_PRESERVE_ZERO_FRACTION は、JSON エンコード時に数値の小数部分のゼロを保持するための定数で、整数型 (int) の値を返します。