From: christopher dot nagle at umb dot edu Operating system: Windows XP/ Ubuntu PHP version: 5.2.6 PHP Bug Type: JSON related Bug description: JSON does not properly encode Arrays
Description: ------------ After manipulating arrays using [] or creating an array in the form array("key" => value, ...) or calling unset on an array element. json_encode will encode the array as an object rather than an array. Reproduce code: --------------- echo json_encode(array(1 => new stdClass(), 2 => new stdClass(), 3 => new stdClass())); $m = array(); $m[1] = new stdClass(); $m[2] = new stdClass(); $m[3] = new stdClass(); echo json_encode($m); $m = array_values($m); echo json_encode($m); unset($m[0]); echo json_encode((array) $m); Expected result: ---------------- ["1":{},"2":{},"3":{}] ["1":{},"2":{},"3":{}] [{},{},{}] ["1":{},"2":{}] Actual result: -------------- {"1":{},"2":{},"3":{}} {"1":{},"2":{},"3":{}} [{},{},{}] {"1":{},"2":{}} -- Edit bug report at http://bugs.php.net/?id=45162&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45162&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45162&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45162&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45162&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45162&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45162&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=45162&r=needscript Try newer version: http://bugs.php.net/fix.php?id=45162&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45162&r=support Expected behavior: http://bugs.php.net/fix.php?id=45162&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45162&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45162&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45162&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45162&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45162&r=dst IIS Stability: http://bugs.php.net/fix.php?id=45162&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45162&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45162&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45162&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=45162&r=mysqlcfg