我需要計算陣列值的平均增幅,而我做了一個小腳本的工作,但我想知道:從計算陣列值的平均增幅在PHP
- 有是這樣
- 我的邏輯的一個更好的,更有效的方式是正確的在這裏計算的平均增幅
可以說我有一個數組,像這樣:
$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);
是邏輯正確的位置,並沒有這樣做,也許不循環的更有效的方法?
感謝提前:)
編輯:更新後的代碼要佔不包括第一個值
這工作得很好,我的原始循環更整潔,謝謝! – 2013-03-07 14:28:59
有些測試表明這是最快的方法,所以謝謝。如果我能將你的答案標記爲我的答案,但我真的會挖掘@ silkfire的答案 – 2013-03-07 14:33:31
的時髦性,那麼,你願意放棄速度而贊成單線? ;-) – unicorn80 2013-03-07 14:37:19