我在我的PHP以下JSON阵列排序PHP JSON嵌套数组按升序排列与usort根据键值
{
"responseHeader": {
"type": "Places",
"status": "200",
"message": "Places fetched"
},
"Places_nearby": [{
"place_name": "blueblue",
"place_rating": "5"
},
{
"place_name": "qwer",
"place_rating": "10"
},
{
"place_name": "mvb",
"place_rating": "0.6"
},
{
"place_name": "tyu",
"place_rating": "25"
},
{
"place_name": "erty",
"place_rating": "1"
},
{
"place_name": "Malabar Adukkala",
"place_rating": "7"
}
],
"Google_places_most_rated": [{
"place_name": "Malabar Adukkala",
"place_rating": "5"
},
{
"place_name": "Malabar Adukkala",
"place_rating": "5"
}
]
}
我需要通过增加值里面的“Places_nearby”数组进行排序“place_rating”。
我所做的就是在我的代码的JSON解码,
json_decode($json,true)
,然后使用usort如下
function sortfunction($a, $b) {
return strcasecmp($a['place_rating'], $b['place_rating']);
}
usort($data['Places_nearby'], 'sortfunction');
但没有任何反应。
如何重写usort函数,或者我想写我的自定义函数来排序数组?我认为,如果PHP有一些内部的运动机制,那将比我能写的其他方法更快。
P.S:我已经尝试过其他SO答案中提到的解决方案,但它们似乎不适用于我的案例。
[排序的多维数组]的可能的复制(https://stackoverflow.com/questions/16002266/sorting-a-multi-dimensional-array) – mickmackusa
...和一百万其他人......就像... https://stackoverflow.com/questions/2699086/sort-multi-dimensional-array-by-value/2699159#2699159 – mickmackusa
对不起,但这些数以百万计的解决方案不适合我的情况。我已经给出了我测试过的代码。对不起,虽然可能有重复。 –