Php 无法反转多维数组

Php 无法反转多维数组,php,Php,我有一个结构如下的数组: [ { "id": "2644688" }, { "id": "2644689" } ] 我正在尝试使用array\u reverse: $reversed = array_reverse($result, true); return $response->withJson($reversed); 但我得到: { "0": { "id": "2644688" }, "1": {

我有一个结构如下的数组:

[
    {
        "id": "2644688"
    },
    {
        "id": "2644689"
    }
]
我正在尝试使用
array\u reverse

$reversed = array_reverse($result, true);
return $response->withJson($reversed);
但我得到:

{
 "0": {
       "id": "2644688"
 },
 "1": {
       "id": "2644689"
 }
}

顺序是一样的,函数
array\u reverse
只是添加了数字索引,我做错了什么?

array\u reverse
的第二个参数中不应该传递
true

尝试将代码替换为:

$reversed = array_reverse($result, false);
或者只是:

$reversed = array_reverse($result);
第二个参数是保留原始数组键。问题是JavaScript将根据键更改其顺序,因此json的输出将是:

{"1":{"id":"2644689"},"0":{"id":"2644688"}}

JavaScript会将顺序更改为0,1。

您不应该在
array\u reverse
的第二个参数中传递
true

尝试将代码替换为:

$reversed = array_reverse($result, false);
或者只是:

$reversed = array_reverse($result);
第二个参数是保留原始数组键。问题是JavaScript将根据键更改其顺序,因此json的输出将是:

{"1":{"id":"2644689"},"0":{"id":"2644688"}}
而JavaScript将根据文档将顺序更改为0,1.

。第二个参数,如果设置为TRUE,则保留数字键。非数字键不受此设置的影响,并且将始终保留

因此,尝试删除
true
作为第二个参数

$reversed = array_reverse($result);
return $response->withJson($reversed);
根据文件。第二个参数,如果设置为TRUE,则保留数字键。非数字键不受此设置的影响,并且将始终保留

因此,尝试删除
true
作为第二个参数

$reversed = array_reverse($result);
return $response->withJson($reversed);

这是将数组编码为json的方式。@u\u mulder所以我应该首先反序列化它?json\u encode不会保留顺序我已经尝试了相同的方法,但结果与您希望的一样,而不是像您在这里显示的那样。@LovePreething您得到了恢复吗?这是将数组编码为json的方式。@u mulder所以我应该首先反序列化它?json\u encode不会保留顺序我已经尝试过了相同,但结果是你想要的,而不是你在这里显示的那样。@lovepreething你得到回复了吗?