Php 如何向上添加数组的值?

Php 如何向上添加数组的值?,php,Php,我有这样一个数组: array(450) { [0] array(7) { ["team1_id"] int(1) ["team2_id"] int(2) ["wins"] int(2) ["draws"] int(0) ["losses"] int(0) ["version_id"] int(24) ["serie_id"] int(2) } [1]

我有这样一个数组:

array(450) 
{
  [0]              array(7) 
  {
    ["team1_id"]   int(1)
    ["team2_id"]   int(2)
    ["wins"]       int(2)
    ["draws"]      int(0)
    ["losses"]     int(0)
    ["version_id"] int(24)
    ["serie_id"]   int(2)
  }
  [1]              array(7) 
  {
    ["team1_id"]   int(1)
    ["team2_id"]   int(3)
    ["wins"]       int(1)
    ["draws"]      int(0)
    ["losses"]     int(1)
    ["version_id"] int(24)
    ["serie_id"]   int(2)
  }
  [2]              array(7) 
  {
    ["team1_id"]   int(1)
    ["team2_id"]   int(4)
    ["wins"]       int(0)
    ["draws"]      int(2)
    ["losses"]     int(0)
    ["version_id"] int(24)
    ["serie_id"]   int(2)
  }
  [3]              array(7) 
  {
    ["team1_id"]   int(1)
    ["team2_id"]   int(2)
    ["wins"]       int(1)
    ["draws"]      int(0)
    ["losses"]     int(1)
    ["version_id"] int(23)
    ["serie_id"]   int(2)
  }
  [4]              array(7) 
  {
    ["team1_id"]   int(1)
    ["team2_id"]   int(3)
    ["wins"]       int(1)
    ["draws"]      int(0)
    ["losses"]     int(1)
    ["version_id"] int(23)
    ["serie_id"]   int(2)
  }
  [5]              array(7) 
  {
    ["team1_id"]   int(1)
    ["team2_id"]   int(4)
    ["wins"]       int(0)
    ["draws"]      int(0)
    ["losses"]     int(2)
    ["version_id"] int(23)
    ["serie_id"]   int(2)
  }
代码只是一个摘录-数组有450个元素。我想得到一个新的数组,其中赢、平、输的值被添加到元素中,其中team1\u id、team2\u id和serie\u id是相同的。版本id是不相关的

最后,摘录应该是3个元素,而不是6个元素

我怎样才能快速优雅地完成这个任务

编辑:

对不起,这是我试过的。但问题是,我只考虑了team1_id,但我需要team1_id、team2_id和serie_id的组合,然后将它们相加。然后我是否需要执行:
if($bla[$standing['team1\u id'][$standing['team2\u id']]][$standing['serie\u id']])


像这样的事情应该可以做到:

$new_array = array();
foreach($main_array as $array) {
    $new_array[] = array("team1_id" => $array["team1_id"], "team2_id" => $array["team2_id"], "serie_id" => $array["serie_id"], "total" => ((int)$array["wins"] + (int)$array["draws"] + (int)$array["losses"]));
}
var_dump($new_array);
然后在您的
新数组中
,您可以这样访问总数:

$first_total = $new_array[0]["total"];

注意:我没有测试这一点,只是根据先前的知识

解决方案:

function concatenateResults($standings) {
    $conc = array();
    foreach ($standings as $standing) {

        if (!isset($conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']])) {           
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['team1_id']  = $standing['team1_id'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['team2_id']  = $standing['team2_id'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['wins']      = $standing['wins'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['draws']     = $standing['draws'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['losses']        = $standing['losses'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['serie_id']  = $standing['serie_id'];
        } else {
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['wins']      += $standing['wins'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['draws']         += $standing['draws'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['losses']        += $standing['losses'];         
        }
    }//foreach
        return $conc;   
}

使用
foreach()
循环。还有,你尝试过什么?可能的重复和。看起来有人在寻找可能的重复,比如如果这是犯罪,就开始大喊“这里有可能的重复”,这样每个人都可以开始投票,直到用户不再被允许提问为止。
function concatenateResults($standings) {
    $conc = array();
    foreach ($standings as $standing) {

        if (!isset($conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']])) {           
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['team1_id']  = $standing['team1_id'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['team2_id']  = $standing['team2_id'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['wins']      = $standing['wins'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['draws']     = $standing['draws'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['losses']        = $standing['losses'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['serie_id']  = $standing['serie_id'];
        } else {
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['wins']      += $standing['wins'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['draws']         += $standing['draws'];
            $conc[$standing['serie_id']][$standing['team1_id']][$standing['team2_id']]['losses']        += $standing['losses'];         
        }
    }//foreach
        return $conc;   
}