2009/3/11 Christopher Östlund <christopher.oestl...@gmail.com>: > I think this behavior is a bit odd too: > > php -r "echo json_encode(array(0=>'test'));" // ["test"] > php -r "echo json_encode(array(1=>'test'));" // {"1":"test"} > >
And php -r "echo json_encode(array(0=>'test',3=>'foo'));" // {"0":"test","3":"foo"} So it seems that zero-base, sequential, integer indexed arrays will be output as a JS array and any other type of array will be an object hash. The PHP_JSON_FORCE_OBJECT (thank you Scott for the name) would at least clarify the output for dynamically created output. > > On Tue, Mar 10, 2009 at 11:32 AM, Richard Quadling <rquadl...@googlemail.com >> wrote: > >> 2009/3/2 Scott MacVicar <sc...@macvicar.net>: >> > Richard Quadling wrote: >> >> 2009/3/2 Scott MacVicar <sc...@macvicar.net>: >> >>> Richard Quadling wrote: >> >>>> Hi. >> >>>> >> >>>> Regarding http://bugs.php.net/bug.php?id=47493, I've supplied a patch >> >>>> to the unit tests too. >> >>>> >> >>>> Any chance this could get committed to 5.2+ >> >>>> >> >>> I'm too convinced of the parameter name and I don't think its something >> >>> that should be added to 5.2.9 since its a feature. >> >>> >> >>> Scott >> >>> >> >> >> >> 5.3+ would be OK then. >> >> >> >> As to the param name, I'm not actually changing the name, just adding >> >> another flag. >> >> >> >> In javascript's terminology,the output is an array ... >> >> >> >> [] >> >> >> >> or a hash >> >> >> >> {} >> >> >> >> So forcing a hash for arrays is pretty much what would be wanted and I >> >> as I comment in the request, we have a "force" option when coming FROM >> >> json data ... json_decode ( string $json [, bool $assoc= false [, int >> >> $depth= 512 ]] ) >> >> >> >> And the "name" of the param here is appropriate to PHP's use (assoc is >> >> not part of JSON's or JS's terminology). >> >> >> >> If you can think of a better name for the flag, then I'd be glad to use >> it. >> >> >> > >> > The JSON spec refers to them as arrays or objects though, as does our >> > documentation I believe. >> > >> > PHP_JSON_FORCE_OBJECT >> > >> > I however have another patch for more strict encoding so I'll try to >> > roll this in a single update. >> > >> > Scott >> > >> >> First of all, this isn't a "why is this not done yet" message. Honestly. >> >> Do you have any timeframe for this though? >> >> Do you think it will be ready for 5.3RC1? >> >> Thank you, >> >> Richard Quadling. >> >> -- >> ----- >> Richard Quadling >> Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 >> "Standing on the shoulders of some very clever giants!" >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > -- ----- Richard Quadling Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 "Standing on the shoulders of some very clever giants!" -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php