我在我的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
對不起,但這些數以百萬計的解決方案不適合我的情況。我已經給出了我測試過的代碼。對不起,雖然可能有重複。 –