所以我有一个这样的数组,想要对它进行排序,以便最好的平均值排在第一位
$first_array = array(
0 => array(
'name' => 'John Doe'
'average' => 7.2
),
1 => array(
'name' => 'Peter Parker'
'average' => 8.1
),
2 => array(
'name' => 'Albert Einstein'
'average' => 5.6
));
我希望它像这样
$final_array = array(
0 => array(
'name' => 'Peter Parker'
'average' => 8.1
),
1 => array(
'name' => 'John Doe'
'average' => 7.2
),
2 => array(
'name' => 'Albert Einstein'
'average' => 5.6
));
我想根据平均值来订购它们,但我不知道怎么做,因为它是一个MultiDimensional数组,我找不到任何可以帮助自己的东西,因为我有点新手......
非常感谢
答案 0 :(得分:1)
使用array_multisort()
功能,如下所示:
array_multisort($first_array, SORT_DESC);
或者,使用usort()
功能,如下所示:
function sort_by_average($a, $b) {
if ($a['average'] == $b['average']) {
return 0;
}
return ($a['average'] < $b['average']) ? 1 : -1;
}
usort($first_array, "sort_by_average");