在多维数组的一维中查找重复值



我已经在档案中搜索了一整天的大部分时间,但一直找不到问题的答案。我希望有人能给我指明正确的方向。

问题

如果不能确定平局的球队(重复获胜百分比)和打破平局的逻辑(不在这个问题的范围内),我就无法测试正面交锋的结果并最终对球队进行正确排名。

问题

如何:

  1. 确定哪些球队的胜率相同(某些球队的总比赛次数可能不同)
  2. 计算平局的球队数量

示例多维阵列

我有一个多维数组,它存储包含球队编号、输赢、积分差和获胜百分比的数组。

示例:

$team_array = array(
array(68, 6, 0, 10, 1.000),
array(65, 6, 0, 8, 1.000),
array(62, 6, 0, 4, 1.000),
array(54, 3, 3, 3, .500),
array(55, 3, 3, -5, .500),
array(59, 0, 6, -16, .000)
);

我需要帮助只在多维数组的一维中查找重复值(获胜百分比或$team_array[$x][4]。我不知道是尝试查找重复值还是消除唯一值更好。

如果有人有任何想法或建议,我将不胜感激。

提前感谢!!!!

编辑以前的代码不起作用。

// $seenDuplicate[ Percentage ][] = indexes which have this percentage.
foreach(team_array as $ind => $team){
    $trackPercentages[$team[4]][] = $ind;
}
// then you can count the number of each array in $trackPercentages

回复第一条评论:它返回3,因为它包含所有百分比,而不考虑重复。第一个是1.000,第二个是.5000,第三个是.0000

foreach($trackPercentages as $perc => $list){
        $echo "Teams with " . $perc . "% wins.<br>";
        foreach($list as $team){
            echo $team."<br>";
        }
        echo "<br>";
}

如果您只想显示重复项,那么在第一个foreach循环之后,请选中:

if(count($list)>1)

我相信ksort可以用于根据索引对数组进行排序。

相关内容

  • 没有找到相关文章

最新更新