我有以下回应,如何根据distnace
对其进行排序{
"Message": "Done.",
"Status": true,
"InnerData": [
{
"id": 66,
"name": "tito",
"distance": 74,
},
{
"id": 67,
"name": "liver pool",
"distance": 83
},
{
"id": 67,
"name": "Text",
"distance": 72
}
]
}
我尝试了usort,但我没有成功。 我也尝试过这个答案here,但它似乎与我需要的答案不同
答案 0 :(得分:2)
正如@hdifen所建议的那样,如果您使用Laravel,这样做很容易。
$json = '{
"Message": "Done.",
"Status": true,
"InnerData": [
{
"id": 66,
"name": "tito",
"distance": 74
},
{
"id": 67,
"name": "liver pool",
"distance": 83
},
{
"id": 67,
"name": "Text",
"distance": 72
}
]
}';
$data = json_decode($json, true);
$data['InnerData'] = collect($data['InnerData'])->sortBy('distance', SORT_REGULAR, true);
$encoded = json_encode($data);
echo $encoded;
输出:
{
"Message":"Done.",
"Status":true,
"InnerData":{
"1":{
"id":67,
"name":"liver pool",
"distance":83
},
"0":{
"id":66,
"name":"tito",
"distance":74
},
"2":{
"id":67,
"name":"Text",
"distance":72
}
}
}
答案 1 :(得分:1)
纯PHP 7
if (activity.Type == ActivityTypes.Message)
{
await Conversation.SendAsync(activity, () => new Dialogs.RootDialog());
}
答案 2 :(得分:0)
Json主要用作发送数据的通用格式。
在Laravel中,您可以使用json_decode()轻松地将json对象转换为php数组。
$phpArray = json_decode($json);
从这里,您可以将其转换为集合,以利用laravels集合功能。
$laravelArray = collect($phpArray);
在此之后,请查看https://laravel.com/docs/5.5/collections进行排序/过滤或对阵列执行任何操作。