私はこのような配列を持っています:
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_id、team2_id、および serie_id が同じ要素について、wins、draws、losss の値が合計された新しい配列を取得したいと考えています。version_id は関係ありません。
最終的に、抜粋は 6 要素ではなく 3 要素にする必要があります。
これをすばやくエレガントに行うにはどうすればよいですか?
編集:
申し訳ありませんが、これが私が試したことです。しかし問題は、私は team1_id だけを考慮に入れることですが、team1_id、team2_id、および serie_id の組み合わせが必要であり、それらを合計する必要があります。その後、次のことを行う必要がありますif ($bla[$standing['team1_id']][$standing['team2_id']][$standing['serie_id']])
か?
foreach ($standings as $standing) {
if (!isset($bla[$standing['team1_id']])) {
$bla[$standing['team1_id']]['team1_id'] = $standing['team1_id'];
$bla[$standing['team1_id']]['team2_id'] = $standing['team2_id'];
$bla[$standing['team1_id']]['wins'] = $standing['wins'];
$bla[$standing['team1_id']]['draws'] = $standing['draws'];
$bla[$standing['team1_id']]['losses'] = $standing['losses'];
$bla[$standing['team1_id']]['serie_id'] = $standing['serie_id'];
} else {
$bla[$standing['team1_id']]['wins'] += $standing['wins'];
$bla[$standing['team1_id']]['draws'] += $standing['draws'];
$bla[$standing['team1_id']]['losses'] += $standing['losses'];
}
return $bla;
}