Função array_sum() do PHP Explicada: Como Calcular a Soma de um Array em PHP
Aprenda a usar a função array_sum() do PHP para somar valores em arrays, com exemplos práticos e boas práticas para desenvolvedores.
A função array_sum() soma todos os valores de um array e retorna o total. É uma das formas mais rápidas de totalizar uma lista de números em PHP — preços em um carrinho, pontuações em um teste ou qualquer coleção numérica — sem precisar escrever um loop manualmente. Este capítulo aborda sua sintaxe, tipo de retorno, como ela lida com valores não numéricos e arrays vazios, e vários exemplos práticos.
O que é a Função array_sum em PHP?
A função array_sum() em PHP é uma função integrada que calcula e retorna a soma de todos os valores em um array. É uma função simples, porém poderosa, que pode economizar muito tempo e esforço ao trabalhar com arrays. A função recebe um único parâmetro, que é o array cujos valores você deseja somar.
Aqui está a sintaxe básica da função array_sum():
Sintaxe do array_sum em PHP
array_sum(array $array): int|floatA função recebe um array como único parâmetro e retorna um int|float: se todos os valores forem inteiros, o resultado é um int, mas assim que qualquer valor for um float, o resultado se torna um float. Arrays indexados e associativos funcionam da mesma forma — as chaves são ignoradas, apenas os valores são somados.
Como Usar a Função array_sum em PHP
Usar a função array_sum() em PHP é bastante simples. Basta passar um array para a função, e ela retornará a soma de todos os valores no array.
Aqui está um exemplo:
Exemplo PHP de uso da função array_sum
Neste exemplo, definimos um array chamado $numbers contendo cinco inteiros. Passamos esse array para array_sum(), que retorna o total. Por fim, exibimos o resultado usando echo.
Nota: array_sum() converte automaticamente os valores para números. Uma string numérica como "3" ou "4.5" é convertida para seu valor numérico, enquanto uma string não numérica como "abc" é tratada como 0 (e emite um aviso no PHP 8+). Portanto, array_sum([1, "2", "abc"]) retorna 3 (1 + 2 + 0).
O resultado deste código será:
The sum of the numbers is: 15Exemplos Práticos do Uso da Função array_sum em PHP
Agora que você sabe como usar a função array_sum() em PHP, vamos ver alguns exemplos práticos de como essa função pode ser usada no desenvolvimento web.
Exemplo 1: Calculando o Preço Total de Itens em um Carrinho de Compras
Suponha que você esteja criando um site de e-commerce e deseja calcular o preço total de todos os itens em um carrinho de compras. Você pode usar a função array_sum() para calcular facilmente o preço total.
Aqui está um exemplo:
Exemplo PHP 1: Calculando o Preço Total usando a função array_sum
Aqui, definimos um array $cart com detalhes dos produtos. Extraímos os preços para um array simples usando array_column(), somamos com array_sum() e exibimos o resultado.
O resultado deste código será:
The total price of the items in the cart is: $60Exemplo 2: Calculando a Pontuação Média
Neste exemplo, definimos um array $scores com cinco notas de alunos. Calculamos a média dividindo a soma das pontuações pelo count() de itens, depois exibimos o resultado.
PHP calcular média usando array_sum
O resultado deste código será:
The average score of the students is: 84array_sum() vs. array_product() e array_reduce()
array_sum() foi criada para uma única tarefa — somar valores. Quando você precisar de um tipo diferente de agregação, use uma função relacionada:
- Para multiplicar todos os valores em vez de somá-los, use
array_product(). - Para qualquer acumulação personalizada (concatenação, somas condicionais, soma de uma propriedade), use
array_reduce(), que permite fornecer seu próprio callback.
Use array_sum() sempre que um total simples for tudo que você precisa — é mais curta e rápida do que a chamada equivalente com array_reduce().
Boas Práticas para Usar a Função array_sum em PHP
Embora a função array_sum() em PHP seja bastante simples de usar, há algumas boas práticas que você deve ter em mente para garantir que a use de forma correta e eficiente.
1. Verifique se a Entrada é um Array
Antes de usar a função array_sum(), é importante garantir que a entrada seja realmente um array. No PHP 8+, passar um valor que não seja um array lança um TypeError em vez de um aviso.
Para verificar se uma variável é um array, você pode usar a função is_array(). Aqui está um exemplo:
PHP verificar se a entrada é um array
if (is_array($numbers)) {
$sum = array_sum($numbers);
} else {
// handle the error
}Verificamos a variável com is_array() antes de chamar array_sum(). Se não for um array, tratamos o erro adequadamente.
2. Trate Arrays Vazios
Se você passar um array vazio para a função array_sum(), ela retornará o valor 0. Embora isso possa ser o valor correto em alguns casos, é importante tratar arrays vazios de uma forma que faça sentido para sua aplicação.
Por exemplo, se você estiver calculando a pontuação média de alunos em uma turma e não houver alunos, pode ser que você queira exibir uma mensagem indicando que não há pontuações para calcular a média.
PHP Tratar Arrays Vazios ao usar array_sum
if (empty($scores)) {
echo "There are no scores to average.";
} else {
$average_score = array_sum($scores) / count($scores);
echo "The average score of the students is: " . $average_score;
}Verificamos se $scores está vazio usando empty(). Se estiver, exibimos uma mensagem; caso contrário, calculamos e exibimos a média.
Conclusão
A função array_sum() em PHP é uma função simples, porém poderosa, que pode economizar muito tempo e esforço ao trabalhar com arrays. Ela permite calcular facilmente a soma de todos os valores em um array, o que pode ser útil em uma ampla variedade de aplicações.
Neste artigo, fornecemos um guia completo sobre como usar a função array_sum() em PHP, incluindo exemplos práticos e boas práticas. Seguindo essas diretrizes, você pode garantir que usa a função de forma correta e eficiente, criando aplicações PHP mais confiáveis.