2011-09-08 90 views
1

我得到的一些數據結構從數據庫:有回調函數PHP Sum函數

object { 
    currency, 
    rate, 
    amount 
} 

我想找到一些功能,如:$ data.sum($ A => $ a.amount)總額的回報總和。但我找不到它。所以有這樣寫:

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

是最簡單的方法嗎?

+0

做到在普通的SQL有['array_reduce'(http://php.net/array_reduce) ,但我不認爲它變得更容易(儘管內存密集度較低) – knittl

回答

2

你能避免使用array_reduce函數調用中

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

,或只與SELECT SUM()

+0

簡單地說'return $ v + $ w-> amount'呢? – deceze

+0

@deceze是的,它更好。我剛剛從手冊頁粘貼了該示例。我要更新。 – Fabio