每3次循环一次的Foreach循环中的总和值

2022-04-10 00:00:00 arrays php laravel-blade
@foreach($group as $key=>$data)
<td>{{$data->value}}</td>
@endforeach

例如:

Value1=1

Value2=2

Value3=3

Value4=4

Value5=5

Value6=6

值7=7

值8=8

值9=9

Value10=10

值11=11

值12=12

我希望每3次循环计算一次$DATA,因此结果是

结果列表1=6

结果图2=15

结果图3=24

结果图4=33

注意:

6=1+2+3

15=4+5+6

24=7+8+9

33=10+11+12

我应该做什么?


解决方案

这是刀片语法答案:

@foreach(array_chunk($group, 3) as $value)
    <td>
        @php
            echo array_reduce($value, function($sum, $item) {
                    $sum +=$item->value;
                    return $sum;
                })
        @endphp
    </td>
@endforeach

或纯PHP:

<?php
$groupSum = [];
foreach (array_chunk($group, 3) as $value) {
    $groupSum[] = array_reduce($value, function ($sum, $item) {
        $sum += $item->value;
        return $sum;
    });
}

print_r($groupSum);

这一切都是因为作者问题中有宾语。

相关文章