mtownsend
11/15/2018 - 7:25 PM

array_var

Get the variance of numbers in an array

<?php

if (!function_exists('array_var')) {

    /**
     * Get the variance of numbers in an array
     *
     * @param
     * @return
     */
    function array_var(array $array)
    {
        // Remove any non-numeric values from the array
        $data = [];
        foreach ($array as $key => $value) {
            if (is_numeric($value)) {
                $data[$key] = $value;
            }
        }

        $var = 0; // variance
        $avg = array_avg($data);

        foreach ($data as $value) {
            $var += pow(($value - $avg), 2);
        }

        return $var;
    }
}