Laravel return (response ) JSON 数组为什么会帮我排序了?我的目的是不要帮我排序,按我数据库排好的就行
大家好,我最近发现一个问题,laravel接口返回自动帮我将数组按升序排序了,其实我不要升序排序,而是按我从数据库里面排好的顺序返回就行。
单独测试数组返回结果也是这样,到底laravel返回在哪里帮我排了序,我该怎么处理才能让其不排序呢?
测试样例如下:
public function testjson()
{
$data = array(6=>"中国",5=>"美国",4=>"日本",1=>"俄罗斯",2=>"英国",);
// dd($data);
$data1 = Response::send(0,'成功!',$data);
dd($data1);
return Response::send(0,'成功!',$data);
}
dd($data);返回的结果如下:
array:5 [
6 => "中国"
5 => "美国"
4 => "日本"
1 => "俄罗斯"
2 => "英国"
]
dd($data1);返回的结果如下:(仍然是我期望的结果)
JsonResponse {#560
#data: "{"state":0,"msg":"\u6210\u529f\uff01","data":{"6":"\u4e2d\u56fd","5":"\u7f8e\u56fd","4":"\u65e5\u672c","1":"\u4fc4\u7f57\u65af","2":"\u82f1\u56fd"}}"
return 之后的结果如下:(不是我期望的结果了,按了键的升序排序)
state 0
msg 成功!
data {…}
1 俄罗斯
2 英国
4 日本
5 美国
6 中国
网上说在每个数字key前面加个空格字符串即可。这样试了,果然可以。
暂时就这样解决啦!
推荐文章: