我有mysql
个查询结果。当我遍历结果时,我正在创建一个数组,如果它是这样的:
while ($row = mysqli_fetch_assoc($query)) {
array_push($resultsArray, [
'hours_open' => $row['hours_open'],
'hours_closed' => $row['hours_closed']
'ma_hours_closed' => 'what to put here..'
]);
}
我想要的是一个移动平均线,基于hours_open,周期为6(所以第7条记录应该给我1到6条记录的平均值,第8条记录是2到7条记录的平均值,所以上。
对此有何想法?
修改
$data = $r['Data'];
$results = array();
for ($i = 0; $i < count($data); $i++) {
if ($i < 5) {
$ma_hours_closed = 0;
} else {
$sum = 0;
for ($c = $i-6; $c < $i; $c++) {
$sum += $results[$c]['hours_closed'] / 6;
}
$ma_hours_closed = $sum;
}
array_push($results, [
'hours_open' => $data[$i]['hours_open'],
'hours_open' => $data[$i]['hours_closed'],
'ma_hours_closed' => $ma_hours_closed
]);
}
它给了我一个有效的输出,它似乎是正确的。这是一种正确的方式吗?