update page now
Laravel Live Japan

array_sum

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

array_sumCalcula a soma dos elementos de um array

Descrição

array_sum(array $array): int|float

array_sum() retorna a soma dos valores de um array.

Parâmetros

array

O array de entrada.

Valor Retornado

Retorna a soma de valores como um inteiro ou float; 0 se o array estiver vazio.

Registro de Alterações

Versão Descrição
8.3.0 Agora emite um E_WARNING quando os valores do array não puderem ser convertidos para int ou float. Anteriormente, arrays e objects eram ignorados enquanto outros valores eram convertidos para int. Adicionalmente, objetos que definem uma conversão numérica (ex.: GMP) agora são convertidos ao invés de ignorados.

Exemplos

Exemplo #1 Exemplos da array_sum()

<?php
$a
= array(2, 4, 6, 8);
echo
"soma(a) = ".array_sum($a)."\n";

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
echo
"soma(b) = ".array_sum($b)."\n";
?>

O exemplo acima produzirá:

soma(a) = 20
soma(b) = 6.9

adicionar nota

Notas de Usuários 2 notes

up
25
rodrigo at adboosters dot com
3 years ago
If you want to calculate the sum in multi-dimensional arrays:

<?php
function array_multisum(array $arr): float {
    $sum = array_sum($arr);
    foreach($arr as $child) {
        $sum += is_array($child) ? array_multisum($child) : 0;
    }
    return $sum;
}
?>

Example:

<?php
$data = 
[
    'a' => 5,
    'b' => 
    [
        'c' => 7, 
        'd' => 3
    ],
    'e' => 4,
    'f' => 
    [
        'g' => 6,
        'h' => 
        [
            'i' => 1,
            'j' => 2
        ]
    ]
];

echo array_multisum($data);

//output: 28
?>
up
2
harl at gmail dot com
2 years ago
array_sum() doesn't "ignore strings if they are not convertible", it converts them to zero. array_product() does the same thing, where the difference between "ignoring" and "converting to zero" is much more obvious.
To Top