我需要计算数组值的平均增加,并且我制作了一个可以工作的小脚本,但我想知道是否:
- 有一种更好、更有效的方法来做到这一点
- 我的逻辑在计算平均增长时是正确的
可以说我有一个像这样的数组:
$array = array(5,10,15,10,0,15);
让我们还假设每个数组项是 1 天,值是当天的某个计数器。我想计算计数器的平均增加/减少。
我所做的是循环遍历数组,并更改了值,以便当前项 = 当前项 - 前一项,我剩下的数组看起来像这样:
$array = array(5,5,-5,-10,15);
然后我按照正常情况计算平均值,在这个例子中,我每天平均增加 2 倍。
代码在这里:
$array = array(5,10,15,10,0,15);
$count = count($array);
for($i=0;$i<$count;$i++) {
if($i==0) {
$value = $array[$i];
unset($array[$i]);
}
else {
$tmp = $array[$i];
$array[$i] -= $value;
$value = $tmp;
}
}
echo array_sum($array) / count($array);
这里的逻辑是否正确,是否有更有效的方法来做到这一点,也许没有循环?
提前致谢 :)
编辑:更新代码以考虑排除第一个值