Php 如何对多维数组中的特定键求和和计数

Php 如何对多维数组中的特定键求和和计数,php,arrays,Php,Arrays,我有以下集合,其中包含以下数组: #items: array:2 [▼ 0 => array:13 [▼ "label" => "00000000-N/A" "views" => 980 "clicks" => 444 "form_submissions_perc" => "100.0" ] 1 => array:13 [▼ "label" => "1111-N

我有以下集合,其中包含以下数组:

  #items: array:2 [▼
    0 => array:13 [▼

      "label" => "00000000-N/A"
      "views" => 980
      "clicks" => 444
      "form_submissions_perc" => "100.0"

    ]
    1 => array:13 [▼

      "label" => "1111-N/A"
      "views" => 323
      "clicks" => 1009
      "form_submissions_perc" => "100.0"

    ]
  ]
我试图对点击次数和平均视图进行求和,但在我的尝试中,我得到了错误的数据:

   $sum = 0;

    foreach ($data as $k => $subArray) {

        foreach ($subArray as $id => $value) {

            $sum += $subArray['views'];
        }

    }

    dd($sum);
这是我试图求和的结果,但没有得到正确的结果

期望输出

   array:2 [

       "views"=> 1303,
       "clicks"=> 1451

    ]

使用
$sum
作为数组,并获取多数组的正确值:

$sum = array(
       'clicks' => 0,
       'views' => 0
       );

foreach ($data as $id => $value) {
    $sum['clicks'] += $value['clicks'];
    $sum['views'] += $value['views'];
}

dd($sum);
这是最简单的工作方式

结果:

Array ( [views] => 1303 [clicks] => 1453 )
您可以使用

$data=array\u reduce($array,function($old,$new){
返回[
“视图”=>$old[“视图”]+$new[“视图”],
“点击”=>$old[“点击”]+$new[“点击”]
];
},[“查看”=>0,“单击”=>0]);
打印“”;
打印(数据);

这也是一种干净简单的方法

这些数组中没有
总收入
键…
“视图”=>数组总和(数组列($data,'views'),
Array ( [views] => 1303 [clicks] => 1453 )
$data = array_reduce($array, function ($old, $new) {
    return [
        "view" => $old["view"] + $new["view"],
        "clicks" => $old["clicks"] + $new["clicks"]
    ];
}, ["view" => 0, "clicks" => 0]);

print '<pre>';
print_r($data);
   foreach ($data as $k => $subArray) {
        $valueSum[] = $subArray['views'];
        $clickSum[] = $subArray['clicks'];
    }
    echo array_sum($valueSum);
    echo array_sum($clickSum);