Prevent json_encode associative array sorting [duplicate]
there is no standard that says it has to be in a certain order.
See this for a related question: How do you stop Chrome and Opera sorting JSON objects by Index ASC?
note: we're talking about a PHP function, but the result is basically javascript, so the statement about the non-existing standard applies as well.
btw: I have tested it with the following code. PHP itself doesnt seem to sort the array, firefox doesn't as well (according to the firebug console).
<pre><?php $array = array(); $array[289] = array('name'=>'One'); $array[292] = array('name'=>'One'); $array[290] = array('name'=>'One'); print_r($array); $string = json_encode($array); print_r($string);?></pre><script> var foo = <?=$string?>; console.log(foo);</script>
Try this:
$ar = array(); $ar[1] = array('1'=>'one'); $ar[2] = array('2'=>'two'); $ar[3] = array('3'=>'three'); print_r($ar); $str= json_encode($ar); print_r($str);
it should work, at-least helps me !