$dataset) { $arr = $dataset['data']; $new = []; $last = count($arr); foreach ($arr as $key => $value) { if ($key == 1 && $last > 2) { $new[] = round(((float) $arr[0] + (float) $value + (float) $arr[2]) / 3, 1); } elseif ($key > 1 && $key < $last - 1) { $new[] = round(((float) $arr[$key - 1] + (float) $value + (float) $arr[$key + 1]) / 3, 1); } } $data['datasets'][$k]['data'] = $new; } } }