如何在 Laravel 的 PHP/Blade 中使用 Foreach 循环?

Posted

技术标签:

【中文标题】如何在 Laravel 的 PHP/Blade 中使用 Foreach 循环?【英文标题】:How to use a Foreach loop in PHP/Blade for Laravel? 【发布时间】:2018-04-27 17:43:52 【问题描述】:

这是一个简单的问题: 有没有办法用 foreach 循环或类似的东西来优化这段代码?

@if(isset($tags[0]))
    <span class="label label-primary"> $tags[0] </span>
@endif
@if(isset($tags[1]))
    <span class="label label-primary"> $tags[1] </span>
@endif
@if(isset($tags[2]))
    <span class="label label-primary"> $tags[2] </span>
@endif
@if(isset($tags[3]))
    <span class="label label-primary"> $tags[3] </span>
@endif
@if(isset($tags[4]))
    <span class="label label-primary"> $tags[4] </span>
@endif
@if(isset($tags[5]))
    <span class="label label-primary"> $tags[5] </span>
@endif
@if(isset($tags[6]))
    <span class="label label-primary"> $tags[6] </span>
@endif
@if(isset($tags[7]))
    <span class="label label-primary"> $tags[7] </span>
@endif
@if(isset($tags[8]))
    <span class="label label-primary"> $tags[8] </span>
@endif
@if(isset($tags[9]))
    <span class="label label-primary"> $tags[9] </span>
@endif           

谢谢你,祝你有一个美好的白天/夜晚!

【问题讨论】:

【参考方案1】:

你可以这样做:

@foreach ($tags as $tag)
    <span class="label label-primary"> $tag </span>
@endforeach

【讨论】:

不应该 $tags $tag 吗? (没有s【参考方案2】:

根据documentation,您可以执行@for 循环。

@for ($i = 0; $i < 10; $i++)
    @if(isset($tags[$i]))
         <span class="label label-primary"> $tags[$i] </span>
    @endif
@endfor

【讨论】:

【参考方案3】:

您可以使用@foreach 循环(如其他答案所建议的那样)或@for 循环。对控制结构使用blade 语法(前面有@ 符号)

@for($i = 0; $i <= 9; $i++)
@if(isset($tags[$i]))
<span class="label label-primary"> $tags[$i] </span>
@endif
@endfor

【讨论】:

谢谢!我想我终于明白 for 循环是如何工作的了! 没问题。正如您所知道的,“谢谢”评论总是很好,但应该避免使用实际关闭问题的操作。此处发布的所有答案都是有效的;因此,请考虑为他们投票并将其标记为答案。 哈哈,不,你赞成我的评论:P 我说赞成“他们”,而不仅仅是我的。 为什么,给定一个索引数组,你需要超过 9 个索引? @foreach 将覆盖 $tags 数组中的每个元素。 @TimLewis 这个措辞好多了,谢谢。 :)【参考方案4】:
@foreach ($tags as $data) 
<span class="label label-primary">$data->property </span> 
@endforeach

你也可以在 Blade 中使用 for else 看看 laravel 文档 https://laravel.com/docs/5.5/blade

【讨论】:

以上是关于如何在 Laravel 的 PHP/Blade 中使用 Foreach 循环?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 如何在会话 Laravel 中存储额外的数据/值

Laravel:如何在 Laravel 中找到公用文件夹?

如何在 Laravel 外部的包中使用 Laravel 外观(缓存、日志、存储)

如何在laravel中删除公共文件夹

如何在 Laravel 8 中使用 srmklive/laravel-paypal v3

Laravel - 如何在本地开发中使用 https 服务 laravel 项目