如何按列获取数组的总和?
How to get the sum of arrays by column?
如何按列获取这些数组的总和?
$arr = [["0","45","0","0","-100","0"],
["22","0","0","12","18","0"],
["0","0","14","12","0","0"]];
预期输出
$sum = ["22","45","14","24","-82","0"];
您可以使用 array_sum() 和 array_column()。
$sums = [];
foreach (array_keys($arr[0]) as $column) {
$sums[$column] = array_sum(array_column($arr, $column));
}
你可以使用for循环,逐一求出每一列的和,然后推入新数组。
$a = [
["0","45","0","0","-100","0"],
["22","0","0","12","18","0"],
["0","0","14","12","0","0"]
];
//Calculates number of rows and columns present in given matrix
$rows = count($a);
$cols = count($a[0]);
$sumArray = array();
//Calculates sum of each column of given matrix
for($i = 0; $i < $cols; $i++){
$sumCol = 0;
for($j = 0; $j < $rows; $j++){
$sumCol = $sumCol + $a[$j][$i];
}
print("Sum of " . ($i+1) . " column: " . $sumCol);
print("<br>");
array_push($newArray, $sumCol);
}
print_r($sumArray);
如何按列获取这些数组的总和?
$arr = [["0","45","0","0","-100","0"],
["22","0","0","12","18","0"],
["0","0","14","12","0","0"]];
预期输出
$sum = ["22","45","14","24","-82","0"];
您可以使用 array_sum() 和 array_column()。
$sums = [];
foreach (array_keys($arr[0]) as $column) {
$sums[$column] = array_sum(array_column($arr, $column));
}
你可以使用for循环,逐一求出每一列的和,然后推入新数组。
$a = [
["0","45","0","0","-100","0"],
["22","0","0","12","18","0"],
["0","0","14","12","0","0"]
];
//Calculates number of rows and columns present in given matrix
$rows = count($a);
$cols = count($a[0]);
$sumArray = array();
//Calculates sum of each column of given matrix
for($i = 0; $i < $cols; $i++){
$sumCol = 0;
for($j = 0; $j < $rows; $j++){
$sumCol = $sumCol + $a[$j][$i];
}
print("Sum of " . ($i+1) . " column: " . $sumCol);
print("<br>");
array_push($newArray, $sumCol);
}
print_r($sumArray);