Der*_*nce 5 php arrays sorting multidimensional-array
我有一个巨大的数组,是从 BattleField Bad Company 2 的 API 中提取的,并且士兵统计信息可以作为多维数组提取,每个士兵都有一个内部数组,但是 API sormats 它按名称字母顺序对士兵进行排序,我想按等级对它们进行排序(这只是该士兵数组中的另一个键)。我已经尝试解决这个问题好几天了,有人有什么想法吗?(即按 $arr[players][][rank] 对数组进行排序
这是数组的一部分
大批
(
[玩家] => 数组
(
[0] => 数组
(
[姓名] => bigjay517
[排名] => 29
[rank_name] => 二级少尉
[老手] => 0
[分数] => 979440
[等级] => 169
[杀死] => 4134
[死亡人数] => 3813
[时间] => 292457.42
[埃罗] => 319.297
[形式] => 1
[日期上次更新] => 2010-03-30T14:06:20+02:00
[count_updates] => 13
[一般] => 数组
(
[准确度] => 0.332
[狗] => 86
[狗] => 166
[elo0] => 309.104
[elo1] => 230.849
[游戏] => 384
[黄金版] => 0
[损失] => 161
[sc_assault] => 146333
[sc_award] => 567190
[sc_bonus] => 35305
[sc_demo] => 96961
[sc_general] => 264700
[sc_目标] => 54740
[sc_recon] => 54202
[sc_squad] => 53210
[sc_support] => 70194
[sc_team] => 21215
[sc_车辆] => 44560
[级别] => 0
[spm] => 0
[spm0] => 0
[spm1] => 0
[排名] => 0
[老手] => 0
[团队杀戮] => 67
[udogt] => 0
[胜利] => 223
)
干得好。
$playergoop 是您提供的数组。
这个按子字段“排名”排序,但它是按升序排列的。如果您想要降序排列,可以将 > 切换为 <。
function sorter($one, $two) {
return ($one['rank'] > $two['rank']);
}
usort($playergoop['players'], sorter);
Run Code Online (Sandbox Code Playgroud)