例えば:
$output = array();
foreach($data as $row) {
if(!isset($output[$row->foo][$row->bar])) {
$output[$row->foo][$row->bar] = 0;
}
$output[$row->foo][$row->bar] += $row->value;
}
一部のオブジェクトを使用して、if(!isset(...))
?でその部分をスキップすることは可能です。
オーバーロードArrayObject
とoffsetGet
メソッドを試してみましたが、参照に問題がありました。phpフォーラムを参照してください。