<?php
function mean(array $nums): float {
return $nums ? array_sum($nums) / count($nums) : 0.0;
}
function median(array $nums): float {
sort($nums);
$n = count($nums);
if ($n === 0) return 0.0;
$mid = intdiv($n, 2);
return $n % 2 ? (float)$nums[$mid] : ($nums[$mid - 1] + $nums[$mid]) / 2;
}
function mode(array $nums): int|float|null {
if (!$nums) return null;
$counts = array_count_values($nums);
arsort($counts);
return array_key_first($counts);
}
$data = [2, 7, 7, 4, 9, 7, 1];
printf("mean=%.2f median=%.2f mode=%s\n", mean($data), median($data), mode($data));
// mean=5.29 median=7.00 mode=7
Create a free account and build your private vault. Share publicly whenever you want.