我有这个对象数组。我用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;
}
}
提前谢谢。
答案 0 :(得分:1)
假设您拥有的数据被称为int f() {
return sizeof(class C);
}
,则此代码应创建一个新数组,其中的项目按ID分组和汇总。
<强>更新强>
添加了array_values()以重置密钥。
$inputData