2011-09-08 11 views
1

は、私は、データベースからいくつかのデータ構造を取得する:量の還元額は$ data.sum($ A => $ a.amount):PHP Sum関数は、

object { 
    currency, 
    rate, 
    amount 
} 

は、私はいくつかの機能などを見つけたいです。しかし、私はそれを見つけることができません。だからこれを書いてください:

array_sum(array_map(function($obj) { 
    return $obj->amount; 
}, $transferList)); 

最も簡単な方法はありますか?

+0

とプレーンSQLでそれを行うあなたは

array_reduce($transferList, function($v, $w) { return $v + $w->amount; }, 0); 

それとものようにarray_reduceを使用して関数呼び出しを避けることができますしかし、私はそれがより簡単になるとは思わない(メモリ消費は少ないが) – knittl

答えて

2

[ `array_reduce`](http://php.net/array_reduce)がありますSELECT SUM()

+0

'return $ v + $ w-> amount'はどうだろう? – deceze

+0

@decezeはい、それは良いです。マニュアルページから例を貼り付けたところです。私は更新するつもりです。 – Fabio