对多维 PHP 数组中的所有键/值对求和

问题描述 投票:0回答:2

我正在开发一个小应用程序,可以为玩家提取最近的比赛数据,我想显示每个玩家 ID 的所有比赛的统计数据总量(进球数、助攻数、正负数、射门数、个人积分)。

这是我的数组对于被拉出的三场游戏的样子的示例。顶层是游戏 ID,后面是参与该游戏的玩家 ID。每个玩家 ID 下的图层是我想要在输出中总计的统计数据。

我尝试使用以下代码循环遍历每个游戏和玩家,但它似乎只从第一场游戏中提取非总计统计数据。

foreach ($results as $result) {
  foreach ($result as $index => $value) {
    $sumArray[$index] = (isset($sumArray[$index]) ? $sumArray[$index] + $value : $value);
  }
}

任何人都可以提供一些指导,告诉我如何循环并汇总每个玩家 ID 出现的玩家统计数据吗?任何帮助,将不胜感激。谢谢!

php arrays laravel multidimensional-array
2个回答
1
投票

我尝试使用更具可读性的变量名

foreach ($results as $game) {
  foreach ($game as $player => $performance) {
    if ( !isset($sumArray[$player] ) {
      $sumArray[$player] = $performance;
    } else {
      foreach ( $performance as $type => $value) {
        $sumArray[$player][$type] += $value;
      }
  }
}

-1
投票
foreach ($results as $game) {
    foreach ($game as $player => $performance) {
    if ( !isset($sumArray[$player] ) {
        $sumArray[$player] = $performance;
    } else {
        foreach ( $performance as $type => $value) {
            $sumArray[$player][$type] += $value;
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.