📜  php 获取数组平均值 - PHP (1)

📅  最后修改于: 2023-12-03 14:45:26.078000             🧑  作者: Mango

PHP 获取数组平均值

在 PHP 中,通过一些简单的函数可以轻松获取数组的平均值。本文将介绍如何使用 PHP 来计算数组的平均值,并提供一些示例代码。

使用 array_sum() 和 count() 函数

要计算一个数组的平均值,可以使用 array_sum() 函数获取数组元素的总和,并使用 count() 函数获取数组元素的数量。然后,将总和除以数量即可得到平均值。

<?php
$numbers = [2, 4, 6, 8, 10];
$sum = array_sum($numbers);
$count = count($numbers);
$average = $sum / $count;
echo '数组的平均值为:' . $average;
?>

上述代码将输出 数组的平均值为:6

考虑空数组和非数字元素

上述代码假设数组中的元素都是数字。但是,如果数组是空的或包含非数字元素,可能会导致错误。为了避免这种情况,可以添加一些额外的代码进行判断。

<?php
$numbers = [2, 4, 'hello', 6, 8, 10];
$sum = 0;
$count = 0;
foreach ($numbers as $number) {
    if (is_numeric($number)) {
        $sum += $number;
        $count++;
    }
}
if ($count > 0) {
    $average = $sum / $count;
    echo '数组的平均值为:' . $average;
} else {
    echo '数组为空或不包含数字元素。';
}
?>

上述代码将输出 数组的平均值为:6。如果数组中包含非数字元素或为空数组,将输出 数组为空或不包含数字元素。

使用 array_filter() 函数

另一种方法是使用 array_filter() 函数过滤掉非数字元素,然后使用上述方法计算平均值。

<?php
$numbers = [2, 4, 'hello', 6, 8, 10];
$filteredNumbers = array_filter($numbers, 'is_numeric');
$sum = array_sum($filteredNumbers);
$count = count($filteredNumbers);
if ($count > 0) {
    $average = $sum / $count;
    echo '数组的平均值为:' . $average;
} else {
    echo '数组为空或不包含数字元素。';
}
?>

上述代码输出的结果与前面的示例代码相同。

总结

通过使用 array_sum()count()foreach 循环和条件判断,我们可以轻松地计算一个数组的平均值。在计算之前,我们还可以使用 is_numeric() 函数或 array_filter() 函数来过滤掉非数字元素,以确保计算得到正确的结果。

注意:在编写代码时,请注意处理可能出现的特殊情况,例如空数组或包含非数字元素的数组。

希望本文能够帮助你更好地理解如何在 PHP 中获取数组的平均值。