如何在对象数组中对相同的id进行分组或求和

时间:2015-10-26 16:04:45

标签: php

我有这个对象数组。我用print_r打印它。我想用相同的id对所有x,y和total求和,或者用id对它们进行分组并将x,y和总和相加。

array (size=3)
  0 => 
    object(stdClass)[13]
      public 'id' => string '24' (length=2)
      public 'x' => float 2
      public 'y' => float 5
      public 'total' => int 7
  1 => 
    object(stdClass)[17]
      public 'id' => string '25' (length=2)
      public 'x' => int 0
      public 'y' => float 2
      public 'total' => int 2
  2 => 
    object(stdClass)[19]
      public 'id' => string '25' (length=2)
      public 'x' => float 13
      public 'y' => int 0
      public 'total' => int 13

这是我的尝试,但没有工作。

$sumArray = array();

            foreach ($r as $k=>$subArray) {
                foreach ($subArray as $id => $value) {
                    $sumArray = $subArray->x+=$value;
                }
            }

提前谢谢。

1 个答案:

答案 0 :(得分:1)

假设您拥有的数据被称为int f() { return sizeof(class C); } ,则此代码应创建一个新数组,其中的项目按ID分组和汇总。

<强>更新

添加了array_values()以重置密钥。

$inputData