>Array
>(
>> [valor_pago_total] => Array
>>> (
>>>> [0] => 14.750.861,55
>>>> [1] => 20.828.923,13
>>>> [2] => 18.431.681,20
>>>> [3] => 43.403.452,99
>>>> [4] => 19.177.285,19
>>>> [5] => 30.213.514,73
>>>> [6] => 5.296.079,04
>>>> [7] => 875.873,76
>>>> [8] => 254.810,00
>>>)
>>)
为什么我执行array_sum($ valor_pago_total),得到错误的结果。为什么呢?
答案 0 :(得分:1)
通过替换它们来消除句号,并将逗号设置为使array_sum()
工作的句点。然后使用number_format()
将其重新设置为格式化结果。
请注意,结果将需要64位计算机。
array_walk( $array['valor_pago_total'], function( &$el) { $el = str_replace( ',', '.', str_replace( '.', '', $el)); });
$sum = array_sum( $array['valor_pago_total']);
var_dump( $sum, number_format( $sum, 2, ',', '.'));
这outputs:
float(153232481.59)
string(14) "153.232.481,59"