2011-09-08 59 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