SunshinePHP Developer Conference 2015

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

次の定数は、json_last_error() が返すエラーの型を表します。

JSON_ERROR_NONE (integer)
エラーが発生しませんでした。 この定数は PHP 5.3.0 以降で使用可能です。
JSON_ERROR_DEPTH (integer)
スタックの深さが最大に達しました。 この定数は PHP 5.3.0 以降で使用可能です。
JSON_ERROR_STATE_MISMATCH (integer)
アンダーフローあるいはモードの不一致が発生しました。 この定数は PHP 5.3.0 以降で使用可能です。
JSON_ERROR_CTRL_CHAR (integer)
制御文字エラー。おそらくエンコードが間違っています。 この定数は PHP 5.3.0 以降で使用可能です。
JSON_ERROR_SYNTAX (integer)
構文エラー。 この定数は PHP 5.3.0 以降で使用可能です。
JSON_ERROR_UTF8 (integer)
正しくエンコードされていないなど、不正な形式の UTF-8 文字。 この定数は PHP 5.3.3 以降で使用可能です。
JSON_ERROR_RECURSION (integer)

json_encode() に渡した配列やオブジェクトに再帰参照が含まれており、エンコードできません。 JSON_PARTIAL_OUTPUT_ON_ERROR オプションを指定した場合は、 再帰参照の部分を NULL にエンコードします。

この定数は PHP 5.5.0 以降で使用可能です。

JSON_ERROR_INF_OR_NAN (integer)

json_encode() に渡した値の中に NAN あるいは INF が含まれています。 JSON_PARTIAL_OUTPUT_ON_ERROR オプションを指定した場合は、 これらの特殊な数値を 0 にエンコードします。

この定数は PHP 5.5.0 以降で使用可能です。

JSON_ERROR_UNSUPPORTED_TYPE (integer)

json_encode() が対応していない型、たとえば resource などが渡されました。 JSON_PARTIAL_OUTPUT_ON_ERROR オプションを指定した場合は、 これらを NULL にエンコードします。

この定数は PHP 5.5.0 以降で使用可能です。

次の定数は、 json_encode() のオプションとして組み合わせて使用します。

JSON_HEX_TAG (integer)
すべての < および > をそれぞれ \u003C および \u003E に変換します。 この定数は PHP 5.3.0 以降で使用可能です。
JSON_HEX_AMP (integer)
すべての & を \u0026 に変換します。 この定数は PHP 5.3.0 以降で使用可能です。
JSON_HEX_APOS (integer)
すべての ' を \u0027 に変換します。 この定数は PHP 5.3.0 以降で使用可能です。
JSON_HEX_QUOT (integer) この定数は PHP 5.3.0 以降で使用可能です。
すべての " を \u0022 に変換します。 この定数は PHP 5.3.0 以降で使用可能です。
JSON_FORCE_OBJECT (integer)
非連想配列を使用した場合に、配列ではなくオブジェクトを出力します。 出力を受け取る側がオブジェクトを期待しており、配列が空っぽである場合などに特に便利です。 この定数は PHP 5.3.0 以降で使用可能です。
JSON_NUMERIC_CHECK (integer)
数値形式の文字列を数値としてエンコードします。 PHP 5.3.3 以降で使用可能です。
JSON_BIGINT_AS_STRING (integer)
大きな整数値を、文字列型でエンコードします。 PHP 5.4.0 以降で使用可能です。
JSON_PRETTY_PRINT (integer)
返される結果の書式を、スペースを使って整えます。 PHP 5.4.0 以降で使用可能です。
JSON_UNESCAPED_SLASHES (integer)
/ をエスケープしません。 PHP 5.4.0 以降で使用可能です。
JSON_UNESCAPED_UNICODE (integer)
マルチバイト Unicode 文字をそのままの形式で扱います (デフォルトでは \uXXXX にエスケープします)。 PHP 5.4.0 以降で使用可能です。
add a note add a note

User Contributed Notes 1 note

up
0
Yzmir Ramirez
29 days ago
If you curious of the numeric values of the constants, as of JSON 1.2.1, the constants have the following values (not that you should use the numbers directly):

JSON_HEX_TAG => 1
JSON_HEX_AMP => 2
JSON_HEX_APOS => 4
JSON_HEX_QUOT => 8
JSON_FORCE_OBJECT => 16
JSON_NUMERIC_CHECK => 32
JSON_UNESCAPED_SLASHES => 64
JSON_PRETTY_PRINT => 128
JSON_UNESCAPED_UNICODE => 256

JSON_ERROR_DEPTH => 1
JSON_ERROR_STATE_MISMATCH => 2
JSON_ERROR_CTRL_CHAR => 3

JSON_ERROR_SYNTAX => 4

JSON_ERROR_UTF8 => 5
JSON_OBJECT_AS_ARRAY => 1

JSON_BIGINT_AS_STRING => 2
To Top