【问题标题】:how to get nth row in foreach loop in laravel blade?如何在 laravel 刀片的 foreach 循环中获得第 n 行?
【发布时间】:2020-12-25 18:31:35
【问题描述】:

考虑一下我有 2 个这样的表

剩余 | c_remaining

0 | 10

20 | 30

40 | 50

我想要 10 - 20 、 30 - 40 和 50 - 0 并且我想要它在 foreach 循环中

@foreach($paid_amounts as $pay_amount)
              <tr>
                <td>{{ $pay_amount->c_remaining - $pay_amount->remaining[select 2nd value] }}</td>
              </tr>
              @endforeach

我怎样才能跳过第一个值并从当前 1 中获取下一个值?

【问题讨论】:

  • 您需要对要在单次迭代中显示的值进行分组,以便使用索引 0 和 1 引用它们。

标签: php laravel foreach


【解决方案1】:

您可以尝试在控制器本身中调整数据。

$paid_amounts->map(function($item, $key) use($paid_amounts) {

    $remaining = isset($paid_amounts[$key + 1]) 
        ? $paid_amounts[$key + 1]->remaining 
        : $paid_amounts[0]->remaining;
    
    //Add a new property to each element of the collection
    $item->prop = $item->c_remaining - $remaining;

    return $item;
});

然后在刀片视图中您可以使用新属性

@foreach($paid_amounts as $pay_amount)
    <tr>
        <td>{{ $pay_amount->prop }}</td>
    </tr>
@endforeach

【讨论】:

    【解决方案2】:

    您的问题真的不清楚,但这是我目前所发现的......

    $arr = [0,10,20,30,40,50];
    
    for ($i=1; $i<sizeof($arr);$i++) {
        echo $arr[$i]." ";
    }
    
    echo $arr[0];
    

    【讨论】:

      猜你喜欢
      • 2018-04-04
      • 2017-11-13
      • 1970-01-01
      • 2016-06-29
      • 2017-12-24
      • 2017-05-29
      • 2021-02-11
      • 2019-10-11
      • 2019-08-24
      相关资源
      最近更新 更多