计算移动平均值并将其添加到数组中

时间:2018-01-12 15:26:18

标签: php

我有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
    ]);
}

它给了我一个有效的输出,它似乎是正确的。这是一种正确的方式吗?

0 个答案:

没有答案