Php 按值对关联数组排序并获得十个最大键
我有一个循环中的关联数组,其中存储了一个用户id(键)和一个分数(值) 我想知道,在这个循环完成后,我如何对值进行排序(获得十个最高分数)并获得它们的键。使用(保留键)并获得前十名Php 按值对关联数组排序并获得十个最大键,php,arrays,associative-array,Php,Arrays,Associative Array,我有一个循环中的关联数组,其中存储了一个用户id(键)和一个分数(值) 我想知道,在这个循环完成后,我如何对值进行排序(获得十个最高分数)并获得它们的键。使用(保留键)并获得前十名 asort($scores, SORT_NUMERIC); $top10 = array_slice($sort, -10); 用来拿钥匙,比如 @deceze-Wow,当我已经七个月没有专业地学习PHP时,就会发生这种情况……嗯,这是打印出来的(json_encode…[0,1,2,3,4,5,6,7,8,9]
asort($scores, SORT_NUMERIC);
$top10 = array_slice($sort, -10);
用来拿钥匙,比如
@deceze-Wow,当我已经七个月没有专业地学习PHP时,就会发生这种情况……嗯,这是打印出来的(json_encode…[0,1,2,3,4,5,6,7,8,9])。我实际上想要用户id($scores[]的键)所以是5,7,2,4,3…我想这只是返回index@Praneet我的坏,
array\u slice
需要一个额外的参数来保留键。已修复。
asort($scores, SORT_NUMERIC);
$top10 = array_slice($sort, -10);
asort($scores);
asort($scores);
$tenHighest = array_slice($scores, -10, null, true);
$tenHighestKeys = array_keys($tenHighest);