我在如何从@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内部的列表仅重复相同的单个项目。请帮助和尊重。谢谢大家!
答案 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>