The object or array passed to json_encode() include
recursive references and cannot be encoded.
If the JSON_PARTIAL_OUTPUT_ON_ERROR option was
given, NULL will be encoded in the place of the recursive reference.
The value passed to json_encode() includes either
NAN
or INF.
If the JSON_PARTIAL_OUTPUT_ON_ERROR option was
given, 0 will be encoded in the place of these
special numbers.
A value of an unsupported type was given to
json_encode(), such as a resource.
If the JSON_PARTIAL_OUTPUT_ON_ERROR option was
given, NULL will be encoded in the place of the unsupported value.
Outputs an object rather than an array when a non-associative array is
used. Especially useful when the recipient of the output is expecting
an object and the array is empty.
Available since PHP 5.3.0.