【发布时间】:2015-07-29 15:34:15
【问题描述】:
我编写了一个 php 脚本,它将根据力量和道德等参数执行完整的(荷兰)足球比赛。
“玩完”所有回合后,我使用usort 来定义最终结果。
这些结果基于“积分”字段。但是,当两支球队的积分相同时,就必须通过比较净胜球来获得进一步的排名。
我尝试使用第一次排序 om 'Points' 和之后排序 om 'GoalDifference (GD)' 来完成这种排序。不幸的是,在后一种情况下,goaldifference 排序正确,但 Points 排序不正确......
这就是现在的团队数组的样子:
$teams = array
(
array(
'Id' => 1,
'Teamname' => 'Team 1,
'Strength' => 22,
'Moral' => 15,
'Points' => 0,
'Pro' => 0,
'Contra'=> 0,
'GD' => 0
)
}
在usort函数下方
usort($teams, function($a, $b) {
return $a['Points'] < $b['Points'];
});
usort($teams, function($a, $b) {
return $a['GD'] < $b['GD'];
});
所以我的问题是,首先按分数排序,然后按目标差排序的最佳方法是什么?
亲切的问候,
基斯
【问题讨论】:
标签: php arrays multidimensional-array criteria