我有以下名为$players
的数组设置:
Array(
[4153234567] => Array(
[name] => JohnnyAppleSeed
[rating] => 00
)
[4807173711] => Array(
[name] => admin
[rating] => 6000
)
[4801234562] => Array(
[name] => 4801234562
[rating] = > 00
)
)
我需要对此数组进行排序并回显:
$name of person with highest rating
$name of person with lowest rating
然后将这些人从阵列中移除,然后重复,直到我感动了所有人。
有什么想法吗?
答案 0 :(得分:4)
尝试usort
usort($players, "player_sort");
function player_sort($a,$b) {
return $a['rating']>$b['rating'];
}
http://www.php.net/manual/en/function.usort.php
排序后,您可以将第一个和最后一个元素设为最高和最低。
答案 1 :(得分:0)
鉴于您提供的数据,您实际上需要使用uasort - 除非数组的键(即.4153234567)对您无关紧要。否则原则和排序程序是相同的。
还要移除您将使用unset()的项目。如果您将密钥保存到$ first,$ last,那么
unset($players[$first]);
unset($players[$last]);