当我将php中的密钥对数组返回到jquery(javascript)的ajax调用时,我在php中维护的顺序会丢失。如何保留数组顺序。
例如array('node' => 'abc', 'test' => 'xyz', 'a' => 'xyz')
jquery中的array('a' => 'xyz', 'node' => 'abc', 'test' => 'xyz')
数组乱序。任何帮助。
答案 0 :(得分:0)
JavaScript没有像PHP那样的关联数组的概念,所以当你对JSON进行编码时,它就会成为一个对象。对象键的排序并不重要,因此依赖它们可能会导致意外行为。
如果排序很重要,您应该考虑使用带有对象(或关联数组)的非关联数组作为值。
$myArray = array(
array('x' => 'node', 'y' => 'abc'),
array('x' => 'test', 'y' => 'xyz'),
array('x' => 'a', 'y' => 'xyz'),
);
那将编码为:
[
{"x": "node", "y": "abc"},
{"x": "test", "y": "xyz"},
{"x": "a", "y": "xyz"}
]