php - 如何将数组中的所有数字相加

php - how to add all the numbers in an array

  [
      {
         "total": 71
      },
      {
         "total": 66
      }
  ]

我怎样才能将这两个数字相加得到 = 137。我已经尝试 array_sum($array_result) 但吐出和错误说:

array_sum() expects parameter 1 to be array, object given

这是我的代码

$result = DB::table('marks')->where([
        ['term', $request->term],
        ['subject', $request->subject],
        ['class', $student->class],
        ['arm', $student->arm],
    ])->select('total')->get();

return array_sum($result);

return redirect()->back()->with('success', 'Results marked successfully.');

最简单的方法是将它们放入集合中并调用 sum() 方法。

像那样:

$sum = collect($yourArray)->sum('total');

你也可以用 foreach 和一个临时变量来完成。

如果您只需要汇总 total,请使用 sum() Query Builder 方法:

$result = DB::table('marks')->where([
    ['term', $request->term],
    ['subject', $request->subject],
    ['class', $student->class],
    ['arm', $student->arm],
])->sum('total');
$result = DB::table('marks')->where([
    ['term', $request->term],
    ['subject', $request->subject],
    ['class', $student->class],
    ['arm', $student->arm],
])->select('total')->get();

 $result = $result->toArray();

现在你可以简单地按照 devk

提到的那样做
collect($result)->sum('total');

get()returncollection。您直接对 collections

执行操作

喜欢get()->sum('total')

希望对您有所帮助。