json_decode, but populates $error in case of error

function json_decode_with_error(
  string $json,
  inout ?(int, string) $error,
  bool $assoc = false,
  int $depth = 512,
  int $options = 0,
): mixed;

If the function runs normally with no errors, then $error is set to null. Otherwise, if an error occurs, $error is set to a tuple of (error code constant, description) from the list defined in builtins_json.hhi.


  • string $json
  • inout ?(int, string) $error
  • bool $assoc = false
  • int $depth = 512
  • int $options = 0


  • mixed