插件窝 干货文章 php数组求平均值的函数有哪些

php数组求平均值的函数有哪些

array 数组 除以 函数 914    来源:    2025-03-18

在PHP中,计算数组的平均值可以通过多种方式实现。以下是几种常见的方法:

1. 使用 array_sum()count() 函数

这是最直接的方法,先使用 array_sum() 计算数组元素的总和,然后使用 count() 计算数组的元素个数,最后用总和除以元素个数得到平均值。

function array_average($array) {
    if (count($array) == 0) {
        return 0; // 避免除以零的错误
    }
    return array_sum($array) / count($array);
}

$array = [1, 2, 3, 4, 5];
echo array_average($array); // 输出: 3

2. 使用 array_reduce() 函数

array_reduce() 函数可以将数组中的元素通过回调函数逐个处理,最终返回一个单一的值。你可以使用它来计算数组的总和,然后除以数组的长度。

function array_average($array) {
    if (count($array) == 0) {
        return 0; // 避免除以零的错误
    }
    $sum = array_reduce($array, function($carry, $item) {
        return $carry + $item;
    }, 0);
    return $sum / count($array);
}

$array = [1, 2, 3, 4, 5];
echo array_average($array); // 输出: 3

3. 使用 foreach 循环

你也可以使用 foreach 循环手动计算数组的总和,然后除以数组的长度。

function array_average($array) {
    if (count($array) == 0) {
        return 0; // 避免除以零的错误
    }
    $sum = 0;
    foreach ($array as $value) {
        $sum += $value;
    }
    return $sum / count($array);
}

$array = [1, 2, 3, 4, 5];
echo array_average($array); // 输出: 3

4. 使用 array_map()array_sum() 函数

如果你需要对数组中的每个元素进行某种处理后再计算平均值,可以使用 array_map() 函数。

function array_average($array) {
    if (count($array) == 0) {
        return 0; // 避免除以零的错误
    }
    $sum = array_sum(array_map(function($item) {
        return $item; // 这里可以对数组元素进行处理
    }, $array));
    return $sum / count($array);
}

$array = [1, 2, 3, 4, 5];
echo array_average($array); // 输出: 3

5. 使用 array_walk() 函数

array_walk() 函数可以对数组中的每个元素应用用户自定义的函数。你可以用它来计算数组的总和。

function array_average($array) {
    if (count($array) == 0) {
        return 0; // 避免除以零的错误
    }
    $sum = 0;
    array_walk($array, function($item) use (&$sum) {
        $sum += $item;
    });
    return $sum / count($array);
}

$array = [1, 2, 3, 4, 5];
echo array_average($array); // 输出: 3

总结

以上是几种常见的计算PHP数组平均值的方法。最常用的是第一种方法,即使用 array_sum()count() 函数,因为它简洁且高效。其他方法在某些特定场景下可能会有用,例如需要对数组元素进行额外处理时。