PHP数组重新排序

arr":[{"q":"aaa","w":"bbb","o":"1"},
{"q:"ccc","w":"ddd","o":"8"},
{"q":"eee","w":"fff","o":"4"},
{"q":"ggg","w":"hhh","o":"2"}]

将如上数组按照键名"o"升序排序
变成如下样子:
arr":[{"q":"aaa","w":"bbb","o":"1"},
{"q":"ggg","w":"hhh","o":"2"},
{"q":"eee","w":"fff","o":"4"},
{"q:"ccc","w":"ddd","o":"8"}]

array_multisort 对多个数组或多维数组进行排序 排序的依据可以是自定义,完全可以用一个一维数组去排序多维数组.

$arrSort = [];
foreach($arr as $info) {
    $arrSort[] = $info['o'];
}
sort($arrSort);
array_multisort($arrSort, $arr);

array_multisort

你研究一下.这个是完全可行的.

追问

看了半天 也没用明白。输出的结果一直是false。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-06
首先来说,你这个是个json 需要先转化成数组在进行二维数组排序可以用usort追问

恩。那将这个转换成数组之后。用usort()或者是asort()都可以我知道。可是 教程里都是array("Bill"=>"60","Steve"=>"56","Mark"=>"31");这样的数组 我的那样的应该怎么写呢

相似回答