PHP

Average / Median / Mode

admin by @admin ADMIN
7m ago
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
Three classic descriptive statistics over a numeric array. Built without any external math library — just sort + count.
PHP
Raw
<?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
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.