@Nickzubov

Как получить средний показатель из нескольких значений на php?

У меня есть несколько чисел(лежат в базе). К примеру
3600000
42540000
125420
и т д.
Всё это, ценники за недвижимость, делим на метр квадратный и получаем стоимость одного метра.

$srpr = round(35000000 / 45, 3);
$srpr2 = number_format($srpr, 0, '', '.');

И у меня уже все эти числа приобретают уже вид в тысячных
36.000
24.665
1.546
и тд, ну грубо говоря выводятся уже ценники за кв метр.

Как получить средний показатель?
Среднее число. Не макс и не мин.
  • Вопрос задан
  • 207 просмотров
Пригласить эксперта
Ответы на вопрос 2
$data=[$a,$b,$c];
$average = round(array_sum($data)/count($data),3);

Судя по всему и это Вам пригодится скоро
Ответ написан
Комментировать
@herovoid
Если нахождение стоимости за метр проводится в цикле, который перебирает выборку из БД и формат данных там примерно такой: $result[0]['column_title'], то максимальное и минимальное число можно получить сугубо в цикле (при каждой итерации проверять, меньше/больше ли новое значение по сравнению с предыдущим). А вот для поиска среднего арифметического нам нужно продолжить работу и вне цикла: на выходе из цикла нам нужно либо уже иметь суму и количество стоимостей, либо создать отдельный массив со всеми стоимостями, чтобы высчитать их сумму и кол-во. Второй вариант мне кажется более читабельным и предпочтительным.

$sum = 0;
$count = 0;
while (...) {
    // код, где высчитывается стоимость квадратного метра
    $sum += $srpr2;
    $count++;
}
$average = $sum / $count;


$all_costs_per_sqm = array();
while (...) {
    // код, где высчитывается стоимость квадратного метра
    $all_costs_per_sqm[] = $srpr2;
}
$sum = array_sum($all_costs_per_sqm);
$count = count($all_costs_per_sqm);
$average = $sum / $count;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы