我试图像这样对我的关联数组进行排序:
[
"key_a" => ["avg" => 2]
"key_b" => ["avg" => 3]
"key_c" => ["avg" => 0]
]
我想按平均排序,所以我应该得到类似的东西
[
"key_b" => ["avg" => 3]
"key_a" => ["avg" => 2]
"key_c" => ["avg" => 0]
]
所以我决定使用usort
,但它会改变我的密钥数量,我该如何解决?
这是我的代码:
usort($materials, function($a, $b) {
if ( $a["avg"] == $b["avg"] ) {
return 0;
}
return ($a["avg"] < $b["avg"]) ? -1 : 1;
});
然后,如果我打印数组,我会得到类似的东西:
[
"0" => ["avg" => 3]
"1" => ["avg" => 2]
"2" => ["avg" => 0]
]