如何在 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 外观(缓存、日志、存储)