Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 计算数组中的和_Php_Arrays_Sum - Fatal编程技术网

Php 计算数组中的和

Php 计算数组中的和,php,arrays,sum,Php,Arrays,Sum,我有以下数组 foreach ($reviews as $review){ $sqlreviews[] = array ( 'score' => $review['value'] + $review['location'] + $review['service'] + $review['rooms'] + $review['cleanliness'], ); 以下回波输出11 25 foreach ($sqlreviews as $review1) { echo" ".$

我有以下数组

    foreach ($reviews as $review){

$sqlreviews[] = array (

'score' => $review['value'] + $review['location'] + $review['service'] + $review['rooms'] + $review['cleanliness'],

);
以下回波输出11 25

foreach ($sqlreviews as $review1) { 
echo"
".$review1['score']."
";
}

如何对上述输出求和,并将总计86传递给变量?

我不知道数组是如何设置的,但您可以使用以下函数输出数组和:

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

我假设您有这样一个数组=>['reviews']=>('value'=>0,'location'=>1,'service'=>1,'rooms'=>2,'cleanlines'=>2)

如果只有一组数据不需要使用PHP 5.5的函数进行迭代,则可以执行以下操作:

$sum = 0;
foreach ($sqlreviews as $review1) { 
    $sum += $review1['score'];
}
echo $sum;
$total = array_sum(
    array_column(
        $reviews,
        'score'
    )
);
$total = array_sum(
    array_map(
        function($value) {
            return $value['score'];
        },
        $reviews
    )
);
对于早期版本的PHP,您可以执行以下操作:

$total = array_sum(
    array_column(
        $reviews,
        'score'
    )
);
$total = array_sum(
    array_map(
        function($value) {
            return $value['score'];
        },
        $reviews
    )
);