2 回答

TA贡献1936条经验 获得超6个赞
您可以使用array_multisort,array_walk排名记录。例如
$records = [
0 => ['percentage' => 95],
1 => ['percentage' => 91],
2 => ['percentage' => 98],
3 => ['percentage' => 70]
];
array_multisort(array_column($records, 'percentage'),SORT_DESC,$records);
array_walk($records, function(&$v,$k){
$v['rank'] = $k + 1;
});
echo '<pre>';
print_r($records);
输出
Array
(
[0] => Array
(
[percentage] => 98
[rank] => 1
)
[1] => Array
(
[percentage] => 95
[rank] => 2
)
[2] => Array
(
[percentage] => 91
[rank] => 3
)
[3] => Array
(
[percentage] => 70
[rank] => 4
)
)
- 2 回答
- 0 关注
- 134 浏览
添加回答
举报