Если нахождение стоимости за метр проводится в цикле, который перебирает выборку из БД и формат данных там примерно такой: $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;