If I run the following, no error is returned and the value of $result is INF. json_last_error() returns 0.
$result = json_decode('547533e683433', true);
As this is a string and not JSON I would expect $result to be NULL and json_last_error() to return 4 or JSON_ERROR_SYNTAX.
Why is this happening?
547533e683433is a huge number. 547533 x10^683433[PHP] will also encode and decode scalar types and NULL. So it's trying to decode'547533e683433'as an int, but it's so big that it gives you infinity.