Laravel如何使用foreach将数据水平放置到三列中

时间:2019-07-08 08:50:19

标签: php laravel

我正在使用laravel-dompdf创建PDF文件。我想使用foreach循环将数据水平放入三列。这不容易。

$ items = ['aaa','bbb','ccc','ddd','eee','ffff','gggg','hhhh','iiii'];

enter image description here

QVariant

3 个答案:

答案 0 :(得分:2)

您可以使用此代码段

<table style="width:100%">
    @foreach($items as $key => $item)
        @if($key % 3 == 0) <!-- if index % 3 is 0 then create tr -->
        <tr>
        @endif
            <td>{{$item}}</td>
        @if(($key+1) % 3 == 0) <!-- if index + 1 % 3 is 0 then close tr -->
        </tr>
        @endif
    @endforeach
    @if(count($items) % 3 != 0)
        </tr>
    @endif
</table>

答案 1 :(得分:1)

使用此代码:

@foreach($data as $key => $item)

    @if ($key % 3 == 0)
        <tr>
    @endif

    <td>{{ $item }}</td>

    @if (($key + 1) % 3 == 0)
        </tr>
    @endif

@endforeach

@if (($key + 1) % 3 != 0)
    </tr>
@endif

您必须:

  • <tr>标签(或每3条记录)开头
  • 处理3条记录时关闭<tr>标签
  • 循环后,您必须检查最后一个<tr>标签是否已关闭,否则请关闭它

答案 2 :(得分:0)

尝试一下

<table style="width:100%">
    <?php $i = 0; ?>
    @foreach($items as $key => $item)
        @if($i == 2)
        <tr>
        @endif
            <td>{{$item}}</td>
        @if($i == 2)
            <?php $i = 0; ?> 
        </tr>
        @endif
       <?php $i++; ?>
    @endforeach
</table>