ZetCode

PHP array_sum 函数

最后修改于 2025 年 3 月 13 日

PHP 的 array_sum 函数计算数组中值的总和。它是一种无需手动迭代即可对数值求和的便捷方法。

基本定义

array_sum 函数返回数组中值的总和。它将非数值转换为数字(对于不可转换的值,转换为 0)。

语法: array_sum(array $array): int|float。该函数根据数组值返回一个整数或浮点数。空数组返回 0。

array_sum 基本示例

这演示了对一个简单的整数数组求和以获得总数。

basic_array_sum.php
<?php

$numbers = [10, 20, 30, 40];
$total = array_sum($numbers);

echo "The sum is: " . $total; 

这将对数组中的所有数字求和。该函数自动处理迭代和求和,返回所有元素的总和。

对浮点数求和

array_sum 适用于浮点数,返回一个浮点数。

float_sum.php
<?php

$prices = [12.99, 9.99, 24.50, 5.75];
$totalPrice = array_sum($prices);

echo "Total price: $" . number_format($totalPrice, 2); 

这计算产品价格的总和。结果是一个浮点数,我们将其格式化为两位小数以进行适当的货币显示。

处理混合数值类型

该函数自动处理包含整数和浮点数的数组。

mixed_types.php
<?php

$values = [5, 10.5, "15", "20.25"];
$sum = array_sum($values);

echo "Mixed sum: " . $sum; 

数值字符串被转换为数字。由于某些值包含小数点,该函数返回一个浮点数,从而保持结果的精度。

非数值行为

在求和过程中,非数值被视为 0。

non_numeric.php
<?php

$mixed = [10, "apple", 20, "orange", 5.5];
$result = array_sum($mixed);

echo "Sum with non-numerics: " . $result; 

无法转换为数字的字符串值被视为 0。在此示例中,只有数值(10、20、5.5)对最终总和有贡献。

空数组处理

当传入一个空数组时,array_sum 默认返回 0。

empty_array.php
<?php

$empty = [];
$sum = array_sum($empty);

echo "Empty array sum: " . $sum; 

当处理可能为空的动态生成的数组时,此行为很有用,避免了对空数组进行特殊检查的需要。

最佳实践

来源

PHP array_sum 文档

本教程介绍了 PHP 的 array_sum 函数,并提供了实际示例,展示了它在各种数组求和场景中的用法。

作者

我的名字是 Jan Bodnar,是一位充满激情的程序员,拥有丰富的编程经验。自 2007 年以来,我一直在撰写编程文章。迄今为止,我撰写了 1,400 多篇文章和 8 本电子书。我拥有超过十年的编程教学经验。

列出 所有 PHP 数组函数