我有一个表示足球比赛“结果”的数组(team1 - 由数字表示的名称和team1_points表示这支球队从这场比赛中获得的分数(3 表示胜利,1 表示平局,0 表示失败)。
这是代码:
array (size=9)
0 =>
array (size=2)
'team1' => string '2' (length=1)
'team1_points' => string '0' (length=1)
1 =>
array (size=2)
'team1' => string '2' (length=1)
'team1_points' => string '0' (length=1)
2 =>
array (size=2)
'team1' => string '2' (length=1)
'team1_points' => string '0' (length=1)
3 =>
array (size=2)
'team1' => string '14' (length=2)
'team1_points' => string '0' (length=1)
4 =>
array (size=2)
'team1' => string '14' (length=2)
'team1_points' => string '3' (length=1)
5 =>
array (size=2)
'team1' => string '1' (length=1)
'team1_points' => string '3' (length=1)
6 =>
array (size=2)
'team1' => string '13' (length=2)
'team1_points' => string '1' (length=1)
7 =>
array (size=2)
'team1' => string '5' (length=1)
'team1_points' => string '1' (length=1)
8 =>
array (size=2)
'team1' => string '7' (length=1)
'team1_points' => string '0' (length=1)
正如您所看到的,一些team1正在重复,例如'team1' => '2'有 3 次,而 id="14" 的团队有 2 次'team1' => '14'等等。
我需要根据team1列对相同的团队进行分组(具有相同 id 的团队,例如 2 或 14 等,并创建一个名为 eg team_1_occurrences的新别名列,它将保存数组中该团队的数量以及一个列,例如team1_total_points将对所有team1_points(3,1 或 0)求和。
然后按 team1_total_points 列 DESC 排序。
所以,最后我需要这样的东西:
team1 | team1_occurrences | team1_total_points
----------------------------------------------
14 | 2 | 3
----------------------------------------------
2 | 3 | 0
...
我从while循环创建的数组只包含2列team1和team1_points(结果是我问题开头的var_dump:
$matches_array[] = array(
'team1'=> $team_1_id,
'team1_points'=> $team1_points
);
我想我需要以某种方式使用 php 函数array_count_values并创建一个新列,但我不知道如何。
提前感谢您提供任何解决此问题的建议。