使用@foreach的@foreach内部数组中的所有项目

时间:2018-12-15 03:06:39

标签: arrays laravel loops foreach

我在如何从@foreach内的数组显示项目中遇到困难。在里面是另一个@foreach。第一个成功显示所有项目。但是第二个@foreach仅在单个项目上循环。请参阅下面控制器内的代码...

Public function home(){
     $images = [
          'img/1.jpg',
          'img/2.jpg',
          'img/3.jpg'
     ];
     $lists = [
          '垂钓鲫鱼技巧之饵料配方',
          '春季钓鲫鱼用饵配方的选择与使用',
          '早春钓鲫鱼该用什么类型的饵料?',
     ];

     return view('/', [
          'images' => $images,
          'lists' => $lists
     ]);
}

然后在视图内...

<div class="image-list">
     @foreach ($images as $image)
          <div class="img-content medium d-block f-l">
               <div class="img-container">
                    <a href="#" class="d-inline-block">
                        <img src="{{ asset($image) }}" alt="">
                    </a>
                    @foreach ($lists as $list)
                        <span class="d-block">{{ $list }}</span>
                    @endforeach
               </div>
          </div>
     @endforeach
</div>

第二个@foreach内部的列表仅重复相同的单个项目。请帮助和尊重。谢谢大家!

1 个答案:

答案 0 :(得分:1)

因此图像的元素1应该具有列表的元素1,依此类推吗?不要循环执行列表,只需回显您需要的列表即可。

这应该有效。尚未测试。

<div class="image-list">
     @foreach ($images as $indexKey=>$image)
          <div class="img-content medium d-block f-l">
               <div class="img-container">
                    <a href="#" class="d-inline-block">
                        <img src="{{ asset($image) }}" alt="">
                    </a>
                    <span class="d-block">{{ $list[$indexKey] }}</span>
               </div>
          </div>
     @endforeach
</div>