0
>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),我得到了错误的结果。为什么?

4

1 回答 1

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, ',', '.'));

输出

float(153232481.59)
string(14) "153.232.481,59"
于 2012-07-11T18:34:35.680 回答