W3docs

Función array_sum() de PHP: Cómo calcular la suma de un array en PHP

Aprende a usar array_sum() en PHP para sumar valores de un array con ejemplos prácticos, tipos de retorno y buenas prácticas.

La función array_sum() suma todos los valores de un array y devuelve el total. Es una de las formas más rápidas de totalizar una lista de números en PHP — precios en un carrito, puntuaciones en un examen o cualquier colección numérica — sin necesidad de escribir un bucle. Este capítulo cubre su sintaxis, tipo de retorno, cómo maneja valores no numéricos y arrays vacíos, además de varios ejemplos prácticos.

¿Qué es la función Array Sum en PHP?

La función array_sum() en PHP es una función integrada que calcula y devuelve la suma de todos los valores de un array. Es una función sencilla pero poderosa que puede ahorrarte mucho tiempo y esfuerzo al trabajar con arrays. La función recibe un único parámetro: el array del que deseas calcular la suma.

Esta es la sintaxis básica de la función array_sum():

Sintaxis de array_sum en PHP

array_sum(array $array): int|float

La función recibe un array como único parámetro y devuelve un int|float: si todos los valores son enteros, el resultado es un int, pero en cuanto algún valor sea un float, el resultado se convierte en float. Tanto los arrays indexados como los asociativos funcionan — las claves se ignoran y solo se suman los valores.

Cómo usar la función Array Sum en PHP

Usar la función array_sum() en PHP es bastante sencillo. Solo necesitas pasar un array a la función y esta devolverá la suma de todos sus valores.

Aquí tienes un ejemplo:

Ejemplo de uso de la función array_sum en PHP

php— editable, runs on the server

En este ejemplo, definimos un array llamado $numbers que contiene cinco enteros. Lo pasamos a array_sum(), que devuelve el total. Finalmente, mostramos el resultado usando echo.

Nota: array_sum() convierte automáticamente los valores a números. Una cadena numérica como "3" o "4.5" se convierte a su valor numérico, mientras que una cadena no numérica como "abc" se trata como 0 (y emite una advertencia en PHP 8+). Por lo tanto, array_sum([1, "2", "abc"]) devuelve 3 (1 + 2 + 0).

La salida de este código será:

The sum of the numbers is: 15

Ejemplos del mundo real usando la función Array Sum en PHP

Ahora que sabes cómo usar la función array_sum() en PHP, veamos algunos ejemplos del mundo real de cómo esta función puede usarse en el desarrollo web.

Ejemplo 1: Calcular el precio total de los artículos en un carrito de compras

Supongamos que estás construyendo un sitio de comercio electrónico y quieres calcular el precio total de todos los artículos en un carrito de compras. Puedes usar la función array_sum() para calcular fácilmente el precio total.

Aquí tienes un ejemplo:

Ejemplo 1 en PHP: Calcular el precio total usando la función array_sum

php— editable, runs on the server

Aquí, definimos un array $cart con los detalles de los productos. Extraemos los precios en un array plano usando array_column(), los sumamos con array_sum() y mostramos el resultado.

La salida de este código será:

The total price of the items in the cart is: $60

Ejemplo 2: Calcular la puntuación media

En este ejemplo, definimos un array $scores con las calificaciones de cinco estudiantes. Calculamos el promedio dividiendo la suma de las puntuaciones entre el count() de elementos y mostramos el resultado.

PHP calcular el promedio usando array_sum

php— editable, runs on the server

La salida de este código será:

The average score of the students is: 84

array_sum() vs. array_product() y array_reduce()

array_sum() está diseñada para una sola tarea: sumar valores. Cuando necesitas un tipo diferente de agregación, recurre a una función relacionada:

  • Para multiplicar todos los valores en lugar de sumarlos, usa array_product().
  • Para cualquier acumulación personalizada (concatenación, sumas condicionales, suma de una propiedad), usa array_reduce(), que te permite proporcionar tu propio callback.

Usa array_sum() siempre que solo necesites un total simple — es más corto y rápido que la llamada equivalente a array_reduce().

Buenas prácticas para usar la función Array Sum en PHP

Aunque la función array_sum() en PHP es bastante sencilla de usar, hay algunas buenas prácticas que debes tener en cuenta para asegurarte de usarla correctamente y de forma eficiente.

1. Verificar que la entrada es un array

Antes de usar la función array_sum(), es importante asegurarte de que la entrada sea realmente un array. En PHP 8+, pasar un valor que no sea un array lanza un TypeError en lugar de una advertencia.

Para verificar si una variable es un array, puedes usar la función is_array(). Aquí tienes un ejemplo:

PHP verificar si la entrada es un array

if (is_array($numbers)) {
    $sum = array_sum($numbers);
} else {
    // handle the error
}

Verificamos la variable con is_array() antes de llamar a array_sum(). Si no es un array, manejamos el error de forma apropiada.

2. Manejar arrays vacíos

Si pasas un array vacío a la función array_sum(), devolverá un valor de 0. Aunque este puede ser el valor correcto en algunos casos, es importante manejar los arrays vacíos de una manera que tenga sentido para tu aplicación.

Por ejemplo, si estás calculando la puntuación media de los estudiantes en una clase y no hay estudiantes, es posible que quieras mostrar un mensaje indicando que no hay puntuaciones que promediar.

PHP manejar arrays vacíos al 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;
}

Comprobamos si $scores está vacío usando empty(). Si lo está, mostramos un mensaje; de lo contrario, calculamos y mostramos el promedio.

Conclusión

La función array_sum() en PHP es una función sencilla pero poderosa que puede ahorrarte mucho tiempo y esfuerzo al trabajar con arrays. Te permite calcular fácilmente la suma de todos los valores de un array, lo que puede ser útil en una amplia variedad de aplicaciones.

En este artículo, proporcionamos una guía completa sobre cómo usar la función array_sum() en PHP, incluyendo ejemplos del mundo real y buenas prácticas. Siguiendo estas pautas, puedes asegurarte de usar la función correctamente y de forma eficiente, y crear aplicaciones PHP más confiables.

Práctica

Práctica
¿Cuál es el propósito de la función array_sum() en PHP?
¿Cuál es el propósito de la función array_sum() en PHP?
Was this page helpful?