Calcular promedio de números en PHP
-
Utilice
array_sum()
ycount()
para conjuntos de números específicos -
Use el bucle
while
para el conjunto de números continuos
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 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