sle*_*man 13
如果你的平均值是什么意思,你不想存储所有数字然后存储数字的数量:
$last_average = 100;
$total_numbers = 10;
$new_number = 54;
$new_average = (($last_average * $total_numbers) + $new_number) / ($total_number + 1);
Run Code Online (Sandbox Code Playgroud)
Mik*_*ike 12
Average = Sum / Number of values
Run Code Online (Sandbox Code Playgroud)
只需存储所有3个值,就不需要任何复杂的操作.
如果您存储Average
和Sum
再计算Number of values
你会失去一点点的准确性,由于平均的截断.
如果您存储Average
和Number of values
然后计算Sum
你就会失去更多的精度.您有误差计算正确值更多余地Number of values
不是Sum
由于它是一个整数.
<?php
function avrg()
{
$count = func_num_args();
$args = func_get_args();
return (array_sum($args) / $count);
}
?>
Run Code Online (Sandbox Code Playgroud)
http://php.net/manual/en/function.array-sum.php#101727