Array sum: примеры (PHP)
array_sum(array $array): int|floatФункция array_sum в PHP
Функция array_sum() вычисляет сумму значений элементов массива. Она принимает один аргумент - массив, значения которого суммируются. Функция часто используется для статистических расчетов, финансовых операций и обработки числовых данных.
Единственный параметр:
- array - массив значений для суммирования. Если передать не массив, PHP попытается преобразовать значение в массив.
Функция возвращает сумму значений в виде целого числа или числа с плавающей точкой. Для пустого массива возвращается 0.
Базовые примеры использования
$numbers = [1, 2, 3, 4, 5];
echo array_sum($numbers);15
$prices = [10.5, 20.3, 30.2];
echo array_sum($prices);61
$mixed = [5, '10', '3.5', 'text'];
echo array_sum($mixed);18.5
$assoc = ['a' => 1, 'b' => 2, 'c' => 3];
echo array_sum($assoc);6
Похожие функции в PHP
Вычисляет произведение значений массива. Подходит для умножения элементов вместо сложения.
Позволяет применять пользовательскую callback-функцию для редукции массива к одному значению. Более гибкая альтернатива для сложных операций.
Комбинация для предварительной обработки значений перед суммированием.
Типичные ошибки
echo array_sum('123');0
$large = [PHP_INT_MAX, 1];
echo array_sum($large);Результат может быть непредсказуем из-за переполнения
$items = ['10 apples', '5 oranges'];
echo array_sum($items);15 (только первое число из каждой строки)
Изменения в версиях PHP
Улучшена обработка типов: при передаче не массива генерируется предупреждение, но функция пытается преобразовать значение.
Оптимизация внутренней реализации для повышения скорости работы с большими массивами.
Расширенные примеры
$data = [[1, 2], [3, 4], [5]];
$sum = array_sum(array_merge(...$data));
echo $sum;15
$values = [10, 'text', 20, null, 30];
$filtered = array_filter($values, 'is_numeric');
echo array_sum($filtered);60
$items = [
['price' => 100, 'qty' => 2],
['price' => 200, 'qty' => 1]
];
$total = array_sum(array_column($items, 'price'));
echo $total;300
function recursive_sum($array) {
$sum = 0;
array_walk_recursive($array, function($value) use (&$sum) {
if (is_numeric($value)) $sum += $value;
});
return $sum;
}
$nested = [1, [2, [3, 4]], 5];
echo recursive_sum($nested);15
$scientific = [1.2e3, 3.5e2];
echo array_sum($scientific);1550
$temperatures = [22.5, 23.1, 21.8, 24.3, 22.9];
$average = array_sum($temperatures) / count($temperatures);
echo round($average, 2);22.92
Альтернативы в других языках
Array sum в Python
numbers = [1, 2, 3, 4, 5]
result = sum(numbers)
print(result)15
Array sum в Javascript
const numbers = [1, 2, 3, 4, 5];
const result = numbers.reduce((acc, val) => acc + val, 0);
console.log(result);15
Array sum в MySQL
SELECT SUM(column_name) FROM table_name;В Python функция sum() работает аналогично, но строже относится к типам данных. JavaScript требует использования reduce() для массивов. SQL операция выполняется на уровне базы данных.