PHP总和如果在数组中相等

时间:2017-04-10 19:51:50

标签: php arrays laravel loops

我正在使用Laravel使用这个雄辩的

从我的数据库中获取数据
$results    = Client::whereIn('po', $pos) -> get();

这是我的刀片代码

@foreach($results as $result)
        <tr>
            <td>{{ $result -> diameter }}</td>
            <td>{{ round(($result -> boxes - $result -> inventory) * $result -> qty * $result -> m_weight * 1.03) }}</td>
        </tr>
@endforeach

我想做什么:

结果将返回两个重复的列。

所以我想将重复的两列值相加并将其打印在一行中,两列总和。

请检查图像,它将以简单快捷的方式显示所有内容

image

2 个答案:

答案 0 :(得分:0)

找到总和的一种方法是在视图中进行。

<?php
    $sum_qty = 0;
    $sum_dia = 0;
?>

@foreach($results as $result)
    <?php
      $qty = round(($result -> boxes - $result -> inventory) * $result -> qty * $result -> m_weight * 1.03);
      $sum_qty += $qty;

      $sum_dia += $result->diameter;
    ?>
    <tr>
        <td>{{ $result -> diameter }}</td>
        <td>{{ $qty }}</td>
    </tr>
@endforeach
<tr>
    <td>{{ $sum_dia }}</td>
    <td>{{ $sum_qty }}</td>
</tr>

试试看是否适合你。

因为,在你提到你需要两个列的总和的问题中,我也做了同样的事情。虽然问题中的图像令人困惑,但在第3行第一列中有3.02

答案 1 :(得分:0)

<tbody>
    <?php 
        $sum_diameter=0;
        $sum_qty=0;
    ?>
        @foreach($results as $result)
        <tr>
            <td>{{ $result -> diameter }}</td>
            <td>{{ round(($result -> boxes - $result -> inventory) * $result -> qty * $result -> m_weight * 1.03) }}</td>
{{ $sum_diameter+=$result -> diameter}}
{{ $sum_qty+=round(($result -> boxes - $result -> inventory) * $result -> qty * $result -> m_weight * 1.03)}}
        </tr>
        @endforeach
</tbody>
<tfoot>
    <tr>
         <th><?php echo $sum_diameter;?></th>
         <th><?php echo $sum_qty;?></th>
    </tr>
</tfoot>

你可以试试这个......