php - 如何在数组中添加所有数字

时间:2017-10-16 12:57:47

标签: php arrays laravel laravel-5.4 laravel-5.5

  [
      {
         "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.');

3 个答案:

答案 0 :(得分:6)

如果您只需要总结total,请使用sum()查询构建器方法:

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

答案 1 :(得分:4)

最容易将它们放入集合中并调用sum()方法。

就像那样:

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

你可以使用foreach和临时变量来完成它。

答案 2 :(得分:1)

$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()返回集合。您直接对集合执行操作

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

我希望这会有所帮助。