php对json随机排序,按月对PHP JSON数组进行排序
我試圖通過MONTH名稱縮短數組.
[
{
"order_id":34,
"user_id":17,
"sum":65000,
"month":"May"
},
{
"order_id":32,
"user_id":19,
"sum":15000,
"month":"July"
},
{
"order_id":29,
"user_id":1,
"sum":20000,
"month":"April"
}
]
有什么方法可以快速排序嗎?我需要名字格式的月份.
我期待一個像下面這樣的結果.
[
{
"order_id":29,
"user_id":1,
"sum":20000,
"month":"April"
},
{
"order_id":34,
"user_id":17,
"sum":65000,
"month":"May"
},
{
"order_id":32,
"user_id":19,
"sum":15000,
"month":"July"
}
]
我嘗試了arsort,krsort,array_reverse(),但這些方法無法縮短它們.所以尋找其他解決方案.
謝謝! (提前)
解決方法:
直接任何函數都不能在這里應用,因為你的數據是json格式,你可以像下面這樣實現: –
$data = '[
{
"order_id":34,
"user_id":17,
"sum":65000,
"month":"May"
},
{
"order_id":32,
"user_id":19,
"sum":15000,
"month":"July"
},
{
"order_id":29,
"user_id":1,
"sum":20000,
"month":"April"
}
]';
$new_array = json_decode($data,true); // convert json to php array
echo "
";print_r($new_array); // print original arrayusort($new_array, "compare_months"); // using usort with callback function
var_dump($new_array); // your final sorted array
function compare_months($a, $b) {
$monthA = date_parse($a['month']);
$monthB = date_parse($b['month']);
return $monthA["month"] - $monthB["month"];
}
?>
參考: –
標簽:json,php,arrays
來源: https://codeday.me/bug/20190527/1166384.html
總結
以上是生活随笔為你收集整理的php对json随机排序,按月对PHP JSON数组进行排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 西门子洗碗机缺盐标志代表什么意思??
- 下一篇: 20问下各位朋友这个吊顶安全吗?