为了账号安全,请及时绑定邮箱和手机立即绑定

将集合中的值相乘

将集合中的值相乘

PHP
慕斯王 2022-10-28 16:17:28
大家好,我有这样的东西,我想将每个对象的“数字”相乘。例如 2(第一个对象编号)x3(第二个对象编号)=6(答案应该是 6)有人知道怎么做吗?数组并不总是相同的。这里它有 2 个对象,但可以更改。[{"id":7,"date":"2020-03-14","number":2},{"id":20,"date":"2020-03-15","number":3}]  更新的答案(工作)                     foreach ($studentDetail as $student){                     $number = calendar::where('student_id','=',$student['id'])                            ->where('date','>=',$jsonData->checkin)                            ->where('date','<',$jsonData->checkout)                            ->get();                        Log::info($number );                        $multiplied= $number ->reduce(function ($carry, $item) {                             return $carry * $item->number;                        }, 1);                        Log::info($multiplied);                        }
查看完整描述

1 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

您可以使用reduce()以下方法Laravel collection


reduce 方法将集合缩减为单个值,将每次迭代的结果传递给后续迭代


$multiplied= $collection->reduce(function ($carry, $item) {

  return $carry * $item->number;

}, 1);


查看完整回答
反对 回复 2022-10-28
  • 1 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信