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 数组函数。