【问题标题】:PHP sum if equal in arrayPHP求和如果在数组中相等
【发布时间】:2017-09-06 00:15:09
【问题描述】:

我正在使用 Laravel 通过这个 eloquent 从我的数据库中获取数据

$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

我想做什么:

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

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

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

【问题讨论】:

  • 在你的查询中做,它可能是一个简单的 GROUP BY 和 SUM
  • @Mihai 你能告诉我怎么做吗?查询是什么?
  • @Mihai 在答案中写下查询,以便我可以将其标记为答案

标签: php arrays laravel loops


【解决方案1】:

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

<?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.02

【讨论】:

    【解决方案2】:
    <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>
    

    你可以试试这个……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-29
      • 2019-09-06
      • 1970-01-01
      • 2021-01-06
      • 1970-01-01
      • 2015-12-05
      相关资源
      最近更新 更多