Calcular promedio de números en PHP

Olorunfemi Akinlua 30 enero 2023
  1. Utilice array_sum() y count() para conjuntos de números específicos
  2. Use el bucle while para el conjunto de números continuos
Calcular promedio de números en PHP

Cuando codificamos en PHP, nos encontramos con diferentes operaciones matemáticas que debemos hacer. La suma, la resta, la multiplicación y la división son las nativas.

Uno típico es el promedio, también llamado media. En este artículo, consideramos el uso de funciones integradas de PHP para calcular el promedio de un conjunto conocido de números y un conjunto continuo de números.

Utilice array_sum() y count() para conjuntos de números específicos

La fórmula simple del promedio es la suma de los números dividida por la frecuencia (recuento) de los números. Por lo tanto, para encontrar el promedio de 1, 3, 4, 5 y 6, sumaremos 1+3+4+5+6, lo que da 19 y dividiremos 19 por la frecuencia de los números que es 5, y el promedio será ser 3.8.

Código - PHP:

<?php
    $sum = 1 + 3 + 4 + 5 + 6;
    $frequency = 5;

    $average = $sum/$frequency;
?>

Sin embargo, esto es bastante simple cuando podemos contar fácilmente la frecuencia de los números. Por lo tanto, necesitamos funciones como array_sum() y count().

Con estas dos funciones integradas, puede calcular fácilmente la suma de números dentro de una matriz porque las matrices son una mejor estructura de datos para almacenar secuencias de elementos como números enteros y flotantes.

Almacenemos los mismos números dentro de una matriz y calculemos el promedio.

Código:

<?php
   $numbers = [1, 3, 4, 5, 6];

   $average =  array_sum($numbers)/count($numbers);
   print_r($average);
?>

Producción :

3.8

Hagamos que sea un poco más avanzado donde generamos automáticamente algunos números aleatorios.

<?php
     $numbers = array_map(function () {
       return rand(0, 100);
   }, array_fill(0, 193, null));

   $average =  array_sum($numbers)/count($numbers);
   print_r($average);
?>

Producción :

49.331606217617

Su salida diferirá de la nuestra ya que los números dentro de las matrices se generan aleatoriamente.

Use el bucle while para el conjunto de números continuos

El ejemplo anterior cubre tener una lista de números conocidos. Sin embargo, hay casos en los que es posible que desee calcular el promedio sobre la marcha, como en una aplicación PHP para un panel educativo.

Suponga que desea calcular el promedio semanal durante el tiempo que el estudiante esté en ese camino. Podemos usar el bucle while para pedir continuamente los números y calcular el número en cada intervalo.

En este ejemplo, usamos la función readline() y las típicas funciones array_sum() y count(). Además, haremos uso del shell de PHP interactivo a través de la siguiente instrucción de shell.

php main.php

Código - principal.php:

<?php

$temp = [];

echo "\nAdding numbers repeatedly to get the average at each intervals";
echo "\nIf you want to terminate the program, type 000";

while (True) {
  echo "\n\n";
  $a = (float)readline("Enter a number: ");
  if ($a != 000) {
    array_push($temp, $a);
    $average = array_sum($temp)/count($temp);
    echo "Current average is ". $average;
    echo "\n";
  } else {
    break;
  }
}

$frequency = count($temp);

echo "\nAverage of all the numbers ($frequency) is $average.";

?>

La matriz $temp contendrá los números que ingresarán los usuarios. El bucle while nos permite pedir continuamente un nuevo número para siempre a menos que se cumpla la condición de ruptura, que es cero (0).

El siguiente código realiza la entrada de los usuarios a través de la función readline() y garantiza que se reciba un flotante.

$a = (float)readline("Enter a number: ");

El siguiente comando recibirá un número entero.

$a = (int)readline("Enter a number: ");

Agregamos el número del usuario a la matriz $temp usando la función array_push(). Luego, calculamos el promedio usando las funciones array_sum() y count() como antes.

Cuando hayamos terminado, podemos escribir 0 para finalizar el programa, lo que inicia la instrucción break. Finalmente, imprimimos el promedio de todos los números ingresados ​​por los usuarios.

$frequency = count($temp);

echo "\nAverage of all the numbers ($frequency) is $average.";

Salida de shell interactiva:

> php main.php

Adding numbers repeatedly to get the average at each interval
If you want to terminate the program, type 0

Enter a number: 11

Current average is 1


Enter a number: 3

Current average is 2


Enter a number: 6

Current average is 3.3333333333333


Enter a number: 88

Current average is 4.5


Enter a number: 1010

Current average is 5.6


Enter a number: 0

Average of all the numbers (5) is 5.6.
Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn