我有以下数组
foreach ($reviews as $review){
$sqlreviews[] = array (
'score' => $review['value'] + $review['location'] + $review['service'] + $review['rooms'] + $review['cleanliness'],
);
以下回显输出 11 25 25 25
foreach ($sqlreviews as $review1) {
echo"
".$review1['score']."
";
}
如何对上述输出求和并将总计 86 传递给变量?
$sum = 0;
foreach ($sqlreviews as $review1) {
$sum += $review1['score'];
}
echo $sum;
使用 PHP 5.5 的 array_column() 函数,你可以执行以下操作:
$total = array_sum(
array_column(
$reviews,
'score'
)
);
对于早期版本的 PHP,您可以执行以下操作:
$total = array_sum(
array_map(
function($value) {
return $value['score'];
},
$reviews
)
);
或
$total = array_reduce(
$reviews,
function($runningTotal, $item) {
return $runningTotal + $item['score'];
}
);
我不太明白你的数组是如何设置的,但你可以使用 array_sum 函数输出数组和:
$a = array_sum($array);
echo $a;
我想你有一个像这样的数组=> ['reviews'] => ('value'=>0, 'location'=>1, 'service'=>1, 'rooms'=>2, 'cleanlines '=>2);
$sqlreviews['score'] = $arrayname['reviews']['value'] + $arrayname['reviews']['location'] + $arrayname['reviews']['service'] + $arrayname['reviews']['rooms'] + $arrayname['reviews']['cleanliness'];
如果你只有一组数据,则不需要迭代......