Quello che dice il cletus è corretto, ma nella mia esperienza, la maggior parte dei browser manterrà l'ordine. Detto questo, dovresti prendere in considerazione l'utilizzo di Array
. Se avete bisogno di risolvere una volta che si riceve sul lato client, basta usare la funzione .sort()
in JavaScript:
rows.sort(function(a, b) {
return a.row_id - b.row_id;
}
Anche se sembra che funziona, l'ordine di immobili a un oggetto non può essere conteggiato sopra. Vedi i molti commenti sotto per maggiori informazioni (occhi più intelligenti dei miei). Tuttavia, questo era il codice che ho usato per testare il comportamento nel mio test limitata:
var test = {
one: 'blah',
two: 'foo',
another: 'bar'
};
for (prop in test) {
document.write(prop + "<br />");
}
Stampe (in Firefox 3.6.3 e Chrome 5.0.375.9):
one
two
another
Inoltre, si può vuoi essere sicuro di ottenere il tipo di codifica JSON di cui hai bisogno dal json_encode()
, ad esempio un oggetto (utilizza parentesi graffe {}
) e non un array (parentesi graffe []
). Potrebbe essere necessario passare JSON_FORCE_OBJECT
a json_encode()
per forzarlo.
- cura per chiarire che l'approccio
Array
è preferito)
- A cura di nuovo (mi dispiace), come avevo trascurato il commento di pcorcoran, che ha un collegamento ad un problema in di Chromium issue tracker per quanto riguarda questo. Basti dire che l'ordine di proprietà di un oggetto è non affidabile.
Già fallito su Opera e Chrome, e il comportamento altrove potrebbe cambiare in quanto i motori JS continuano ad essere ottimizzati. Non fare affidamento sull'ordine dell'oggetto: vai per la matrice. – bobince
Sembra funzionare per me in Chrome (5.0.375.9 su Mac OS X). Stai utilizzando una versione diversa o hai uno snippet di codice che potrebbe causare la mancata esecuzione dell'ordine da parte di Chrome? Sono per lo più interessato solo da una curiosità. Sono d'accordo con te, l'approccio migliore sarebbe usare un array e '.sort()' se necessario. – awgy
Nevermind-- ha trascurato il commento di pcorcoran qui sotto, che rimanda al tracker dei problemi di Chromium. – awgy