配列値の平均増加を計算する必要があり、機能する小さなスクリプトを作成しましたが、次のことを知りたいです:
- これを行うためのより良い、より効率的な方法があります
- 私の論理はここで平均増加を計算するのに正しいです
次のような配列があるとしましょう。
$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);
ここでのロジックは正しいですか?おそらくループなしで、これを行うより効率的な方法はありますか?
前もって感謝します :)
EDIT:最初の値を除外するためにコードを更新しました