我有一个与 php 数组相关的看似简单的排名类型问题,不幸的是,经过大量研究,它打败了我:
我有一个简单的数组,其中键是人名,值只是关联的数字:
$myArray = Array("David"=>36, "James"=>24, "Sarah"=>70, "Mary"=>55);
这是挑战:给定一个名字,他们在数组中的排名是多少?例如:莎拉=rank1;这似乎很简单,因为我认为我可以按值对数组进行排序,然后循环到所需的名称以获得排名。然而,奇怪的是,当我对数组进行排序时,它只是无济于事地返回 1!
print_r(asort($myArray)) = 1 (??)
我想我可以将数组放在 MySQL 表中,但这似乎有点笨拙。有人知道php解决方案吗?我在哪里做错了排序?我在这里阅读了文档,似乎 asort 是适当的功能(保留关联并按值排序)。
谢谢格林奇
_