我有一个庞大的数组,从BattleField Bad Company 2的API中提取,可以将士兵统计数据作为多维数组拉出,每个士兵内部数组,然而API按字母顺序对士兵进行排序,我想按排名(就是该士兵数组中的另一个键)进行排序。我已经试图解决这个问题好几天了,有人有什么想法吗?
(即通过 $arr[players][][rank] 对数组进行排序)
以下是数组的一部分:
以下是数组的一部分:
Array ( [players] => Array ( [0] => Array ( [name] => bigjay517 [rank] => 29 [rank_name] => SECOND LIEUTENANT II [veteran] => 0 [score] => 979440 [level] => 169 [kills] => 4134 [deaths] => 3813 [time] => 292457.42 [elo] => 319.297 [form] => 1 [date_lastupdate] => 2010-03-30T14:06:20+02:00 [count_updates] => 13 [general] => Array ( [accuracy] => 0.332 [dogr] => 86 [dogt] => 166 [elo0] => 309.104 [elo1] => 230.849 [games] => 384 [goldedition] => 0 [losses] => 161 [sc_assault] => 146333 [sc_award] => 567190 [sc_bonus] => 35305 [sc_demo] => 96961 [sc_general] => 264700 [sc_objective] => 54740 [sc_recon] => 54202 [sc_squad] => 53210 [sc_support] => 70194 [sc_team] => 21215 [sc_vehicle] => 44560 [slevel] => 0 [spm] => 0 [spm0] => 0 [spm1] => 0 [srank] => 0 [sveteran] => 0 [teamkills] => 67 [udogt] => 0 [wins] => 223 )
usort()
可以对任何数组进行排序,但它不一定会按预期返回每个数组。如果读者需要保持键关联等信息,介绍uasort()
和uksort()
可能会有所帮助。 - slothluvchunk