@Kurper

Как посчитать среднее арифметическое?

Всем привет.

К примеру есть массив:
$arr = [0 => 12, 1 => 15, 2 => 15, 3 => 75, 4 => 77, 5 => 40, 6 => 15, 7 => 2, 8 => 40, 9 => 11, 10 => 8]


надо посчитать арифметическое число за 3 дня, к примеру сложить первые три индекса, то есть 0+1+2/3, 1+2+3/3....

пробовал делать через цикл, но в итоге выдает ошибку Undefined offset: 11.

$arr = [0 => 12, 1 => 15, 2 => 15, 3 => 75, 4 => 77, 5 => 40, 6 => 15, 7 => 2, 8 => 40, 9 => 11, 10 => 8]
for ($i = 0; $i < count($arr); ++$i) {
  $temp = 0;
  for ($j = 0; $j < 3; ++$j) {
    $temp += $arr[$i + $j];
  }
  $temp/=$3;
  $temp = str_replace(",", ".", $temp);
  $data[] = (int) $temp;
}
  • Вопрос задан
  • 5288 просмотров
Решения вопроса 1
@IS-Builder
~ PHP-8 & REGEXP - This is a really powerful kit ~
Kurper
к примеру сложить первые три индекса

Выбираете срез массива, и над ним выполняете арифметические операции:
$arr = [0 => 12, 1 => 15, 2 => 15, 3 => 75, 4 => 77, 5 => 40, 6 => 15, 7 => 2, 8 => 40, 9 => 11, 10 => 8];

$slice = array_slice($arr, 0, 3);
$result = array_sum($slice) / sizeof($slice);

echo $result;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы