отсортировать ассоциативный массив по значению и получить десять лучших ключей - PullRequest
1 голос
/ 22 февраля 2012

У меня есть ассоциативный массив из цикла, где я храню user_id (ключ) и счет (значение)

$scores[$user_id] = $score;

Мне было интересно, после того, как этот цикл закончился, как я могу отсортировать значения (получить десять самых высоких баллов) и получить их ключи.

Ответы [ 3 ]

2 голосов
/ 22 февраля 2012
asort($scores);
$tenHighest = array_slice($scores, -10, null, true);
$tenHighestKeys = array_keys($tenHighest);
1 голос
/ 22 февраля 2012

Используйте asort() (для сохранения ключей) и array_slice(), чтобы получить верхние 10.

asort($scores, SORT_NUMERIC);

$top10 = array_slice($sort, -10);

Используйте array_keys(), чтобы получить ключи, как Десец сделал .

0 голосов
/ 22 февраля 2012
...