hi Sara,

The idea sounds sane, until we have big integer support :)

Only one thing, I would suggest to use JSON_BIGINT_AS_STRING instead,
more clear about its effect.

Cheers,

On Thu, May 20, 2010 at 9:50 PM, Sara Golemon <poll...@php.net> wrote:
> I know this issue has been seen before, but I hope to do something about it.
>
> $json = '1234567890123456789';
> $x = json_decode($json);
> /* $x is now a float *aproximately*
>  * equal to the original value
>  */
>
> For database indexes, being off by one can be disasterous for application
> flow, so I'd like to include the option to decode very large integers as
> strings.
>
> To that end, I propose a change in json_decode()'s signature to add an
> optional fourth argument, mirroring json_encode()'s second argument:
>
> mixed json_decode(string $json[, bool $assoc = false[, int $depth = 512[,
> int $options]]]);
>
> Where $options is a bitmask of zero or more of the following:
>
> JSON_BIGINT_STRING - Store large integers as their original string value
>
> With the corresponding simple changes in json.c and JSON_parser.c
>
> If noone objects or offers comments, I'll implement this.
>
> -Sara
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>



-- 
Pierre

@pierrejoye | http://blog.thepimp.net | http://www.libgd.org

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to