计算二维数组中列的总和[重复]

问题描述 投票:0回答:4

我有以下数组

    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 传递给变量?

php arrays sum
4个回答
1
投票
$sum = 0;
foreach ($sqlreviews as $review1) { 
    $sum += $review1['score'];
}
echo $sum;

1
投票

使用 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'];
    }
);

0
投票

我不太明白你的数组是如何设置的,但你可以使用 array_sum 函数输出数组和:

$a = array_sum($array);
echo $a;

0
投票

我想你有一个像这样的数组=> ['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'];

如果你只有一组数据,则不需要迭代......

© www.soinside.com 2019 - 2024. All rights reserved.