我有一个数组 $ data ,如下所示
[data] => Array
(
[user1] => Array
(
[score] => 10
)
[user2] => Array
(
[score] => 15
)
[user3] => Array
(
[score] => 12
)
[user4] => Array
(
[score] => 1
)
)
我正在寻找基于得分最高得分为Rank 1
的数组排名输出:
user2 -> 1
user3 -> 2
user1 -> 3
user4 -> 4
有关如何实现这一目标的任何建议吗?
答案 0 :(得分:2)
您可以使用array_multisort
函数和降序选项来实现此目的
$array = array('data' => array('user1' => array('score' => 10 ),
'user2' => array('score' => 15),
'user3' => array('score' => 12),
'user4' => array('score' => 1),
)
);
array_multisort($array['data'], SORT_DESC);
var_dump($array);
这将命令您的数组
array (size=1)
'data' =>
array (size=4)
'user2' =>
array (size=1)
'score' => int 15
'user3' =>
array (size=1)
'score' => int 12
'user1' =>
array (size=1)
'score' => int 10
'user4' =>
array (size=1)
'score' => int 1
答案 1 :(得分:1)
要对数组进行排序,您必须使用 asort($ array)函数。