数组元素的平方和
在PHP语言中,计算一个数组中元素的平方和是非常常见的操作。本文将介绍如何使用PHP计算一个数组中元素的平方和。
数组元素的平方和的定义
在数学中,指定一个数组 $a$,它包含了 $n$ 个元素。元素的平方和定义为:
$$
\sum\limits_{i=1}^n a_i^2
$$
表示将数组中的每个元素平方后相加的结果。
使用循环实现
我们可以使用 for 循环来实现求一个数组中元素的平方和的功能。具体代码如下:
function calcSqSum($arr) {
$sum = 0;
$n = count($arr);
for ($i=0; $i<$n; $i++) {
$sum += $arr[$i] * $arr[$i];
}
return $sum;
}
//示例数组
$arr = array(2, 4, 6, 8);
echo calcSqSum($arr);
上述代码中,calcSqSum 函数接收一个数组作为参数,将数组中每个元素平方后相加,最终返回求和后的结果。
使用 array_reduce 函数实现
PHP 中提供了一个 array_reduce 函数用于对数组元素进行迭代求和操作。具体代码如下:
function calcSqSum($arr) {
return array_reduce($arr, function($carry, $item) {
$carry += $item * $item;
return $carry;
});
}
//示例数组
$arr = array(2, 4, 6, 8);
echo calcSqSum($arr);
上述代码中,我们通过 array_reduce 函数将数组元素进行迭代操作,最终返回结果为元素的平方和。
使用 array_map 函数实现
除了以上两种方法,我们还可以使用 array_map 函数实现。代码如下:
function calcSqSum($arr) {
$squared = array_map(fn($n) => $n * $n, $arr);
return array_sum($squared);
}
//示例数组
$arr = array(2, 4, 6, 8);
echo calcSqSum($arr);
我们使用 array_map 函数将数组中的每个元素平方,最后使用 array_sum 函数求和,得到的结果为元素的平方和。
总结
本文介绍了使用循环、array_reduce 函数、array_map 函数三种方法计算一个数组中元素的平方和。其中,使用 array_reduce 函数和 array_map 函数都是使用了一种函数式编程的思想,代码更加简洁易懂。