PHP 中的数组总和和计数行
Array sum and count row in PHP
我有一个函数 getData returns:
array:4 [▼
0 => array:1 [▼
0 => "5689.01"
]
1 => array:1 [▼
0 => "5689.01"
]
2 => array:1 [▼
0 => "0.0"
]
3 => array:1 [▼
0 => "5665.11"
]
]
我需要计算行数(这次是 4,如上所述),每次我触发调用时都会计算 returned 的值,并且 return 所列所有结果的总和.
$rows = $this->get('app')->getData();
if($rows) {
foreach ($rows as $row) {
$sumOfAll = 0;
$total = count($rows);
$sumOfAll += array_sum(array($row[0] * $total));
dump($sumOfAll);die;
}
}
我总是得到错误的数字,在本例中是 22756.04。
要修复总和值,您需要将 $sumOfAll
变量移出 foreach
从这里更改您的代码:
foreach ($rows as $row) {
$sumOfAll = 0;
$total = count($rows);
$sumOfAll += array_sum(array($row[6] * $total));
dump($sumOfAll);die;
}
对此:
$sumOfAll = 0;
foreach ($rows as $row) {
$total = count($rows);
$sumOfAll += array_sum(array($row[6] * $total));
}
dump($sumOfAll);die;
使用 array_sum 和 array_column 获取值并求和。
然后使用 count() 来获取计数。
$sum = array_sum(array_column($arr, 0));
$count = count($arr);
echo "count is ". $count . " And sum is " . $sum;
我有一个函数 getData returns:
array:4 [▼
0 => array:1 [▼
0 => "5689.01"
]
1 => array:1 [▼
0 => "5689.01"
]
2 => array:1 [▼
0 => "0.0"
]
3 => array:1 [▼
0 => "5665.11"
]
]
我需要计算行数(这次是 4,如上所述),每次我触发调用时都会计算 returned 的值,并且 return 所列所有结果的总和.
$rows = $this->get('app')->getData();
if($rows) {
foreach ($rows as $row) {
$sumOfAll = 0;
$total = count($rows);
$sumOfAll += array_sum(array($row[0] * $total));
dump($sumOfAll);die;
}
}
我总是得到错误的数字,在本例中是 22756.04。
要修复总和值,您需要将 $sumOfAll
变量移出 foreach
从这里更改您的代码:
foreach ($rows as $row) {
$sumOfAll = 0;
$total = count($rows);
$sumOfAll += array_sum(array($row[6] * $total));
dump($sumOfAll);die;
}
对此:
$sumOfAll = 0;
foreach ($rows as $row) {
$total = count($rows);
$sumOfAll += array_sum(array($row[6] * $total));
}
dump($sumOfAll);die;
使用 array_sum 和 array_column 获取值并求和。
然后使用 count() 来获取计数。
$sum = array_sum(array_column($arr, 0));
$count = count($arr);
echo "count is ". $count . " And sum is " . $sum;