How to calculate the mean and the standard deviation of an array of floating-point values in PHP

1 Answer

0 votes
function calculateMean($data) {
    if (count($data) === 0) {
        return 0.0;
    }
    $sum = array_sum($data);
    
    return $sum / count($data);
}

function calculateStandardDeviation($data, $mean) {
    $n = count($data);
    if ($n < 2) {
        return 0.0;
    }
    $sumOfSquaredDiffs = 0.0;
    foreach ($data as $value) {
        $diff = $value - $mean;
        $sumOfSquaredDiffs += $diff * $diff;
    }
    $variance = $sumOfSquaredDiffs / ($n - 1); // Sample standard deviation
    
    return sqrt($variance);
}

$numbers = [3.4, 1.8, 4.3, 5.0, 6.2];
$mean = calculateMean($numbers);
$stddev = calculateStandardDeviation($numbers, $mean);

printf("Mean: %.2f\n", $mean);
printf("Standard Deviation: %.2f\n", $stddev);



/*
run:

Mean: 4.14
Standard Deviation: 1.66

*/

 



answered Jun 29, 2025 by avibootz
...