【问题标题】:How to use a Foreach loop in PHP/Blade for Laravel?如何在 Laravel 的 PHP/Blade 中使用 Foreach 循环?
【发布时间】: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           

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

【问题讨论】:

    标签: php laravel foreach blade


    【解决方案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

      【讨论】:

        猜你喜欢
        • 2014-02-24
        • 2020-06-26
        • 2021-09-27
        • 2019-11-11
        • 1970-01-01
        • 2021-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多