在laravel/blade中从数组创建逗号分隔列表?

Zac*_*ale 8 php laravel laravel-blade laravel-5.3

我正在显示数组的元素@foreach($tags as $tag)$tag->@endforeach.输出是tag1tag2tag3.有什么方法来挖掘数组中的元素tag1,tag2,tag3.如何不显示,数组中是否只有一个元素.

小智 18

所选答案过于复杂。Laravel有一个更简单的解决方案:

{{ $items->pluck('tag')->implode(', ') }}
Run Code Online (Sandbox Code Playgroud)


Ale*_*nin 14

implode()有利于回显简单数据.在实际项目中,您通常希望在循环中添加一些HTML或逻辑,使用$loop自5.3以来可用的变量:

@foreach ($arrayOrCollection as $value)
    {{ $loop->first ? '' : ', ' }}
    <span class="nice">{{ $value->first_name }}</span>
@endforeach
Run Code Online (Sandbox Code Playgroud)


小智 6

用这个。我们可以使用$loop->last来实现它

@foreach ($arrayOrCollection as $value)
    <span class="nice">
        {{ $value->first_name }}

        @if( !$loop->last)
        ,
        @endif
    </span>
@endforeach
Run Code Online (Sandbox Code Playgroud)