php – 排序数组并保持键值
发布时间:2020-12-13 16:25:54 所属栏目:PHP教程 来源:网络整理
导读:我有一个如下的数组: Array( [team1] = Array ( [points] = 10 [players] = Array ( ... ) ) [team2] = Array ( [points] = 23 [players] = Array ( ... ) ) ... many more teams) 我想按照每个队伍的分数排序队伍.我试过这个: function sort_by_points($a
我有一个如下的数组:
Array ( [team1] => Array ( [points] => 10 [players] => Array ( ... ) ) [team2] => Array ( [points] => 23 [players] => Array ( ... ) ) ... many more teams ) 我想按照每个队伍的分数排序队伍.我试过这个: function sort_by_points($a,$b) { if ($a['points']==$b['points']) return 0; return ($a['points']<$b['points'])?1:-1; } usort($this->wordswithdata,"sortbycount"); 但是该方法会覆盖包含团队名称和返回的键: Array ( [0] => Array ( [points] => 23 [players] => Array ( ... ) ) [1] => Array ( [points] => 10 [players] => Array ( ... ) ) etc... ) 有没有办法排序数组而不覆盖团队名称作为数组键?
使用
uasort功能,应该保持键=>价值关联完好无损.
(旁注:你可以返回$a [‘points’] – $b [‘points’]而不是ifs) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |