为了账号安全,请及时绑定邮箱和手机立即绑定

奥运会的奖牌,如何实现按金银铜多少顺序决定国家排位(详见题目)

奥运会的奖牌,如何实现按金银铜多少顺序决定国家排位(详见题目)

守着星空守着你 2018-09-06 15:13:24
数据的结构大概是这样 $arr = [           ['name'=>'国家一','score'=>[10,7,5]],           ['name'=>'国家二','score'=>[10,9,5]],           ['name'=>'国家三','score'=>[11,7,5]],           ['name'=>'国家四','score'=>[10,7,9]],         ];排序的规则是,先比金牌,金牌一致比银牌,银牌一致比铜牌,铜牌一致比id,id就是初始的数组序号score中的三个数字分别代表金,银,铜的数量要求较少的用到内置函数,最好用php实现
查看完整描述

1 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

代表奖牌数量的有三个数字,你至少说说排序的规则是什么样子的吧

是总的奖牌数量?分别按照金银铜?还是什么奇怪的排列组合?


办法挺多的,比较懒的办法就是直接比四次,先按照金牌排序,选出金牌一样的,再在相同的里面按照银牌排序……以此类推就行了

想要一次性就排序好的话,那就把金银铜序号,变成一个数字来排序就行了。
比如,你的这个数组可以变成这样——

[010007005001,010009005002,011007005003,010007009004]

规则很简单,金银铜序号填充至三位,然后直接拼接起来,最后直接对这组数字进行排序就行了,一次到位。


查看完整回答
反对 回复 2018-10-17
  • 1 回答
  • 0 关注
  • 1292 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信