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

Create comma separated list from array in laravel/blade?

我正在显示数组的元素 @foreach($tags as $tag)$tag->@endforeach。输出是 tag1tag2tag3。在 tag1,tag2,tag3 中 sho 数组元素的可能方法是什么?如果数组中只有一个元素,如何不显示,

使用内爆:

{{ implode(', ', $tags) }}

内爆是一种选择,或者您也可以像这样使用连接

{{ join(', ', $tags) }} 

试试第一个或这个.. 祝你好运

试试 implode():

$arr = ['one', 'two', 'three'];
echo implode(',', $arr);

//输出

one,two,three

implode() 适用于回显简单数据。在实际项目中,您通常希望在循环中添加一些 HTML 或逻辑,使用从 5.3 开始可用的 $loop 变量:

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

我相信您正在寻找的可能是这样的: //将你的数组放在 php 标签中 //$arr = ['one', 'two', 'three']; ? > //用foreach遍历数组,如果数组的计数不等于las元素,那么在它后面加上逗号

@foreach ($arr as $key => $value)
    @if( count( $arr ) != $key + 1 )
        {{ $value }},
     @else
        {{ $value }}
    @endif
@endforeach

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

{{ $items->pluck('tag')->implode(', ') }}

用这个。我们可以使用 $loop->last

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

        @if( !$loop->last)
        ,
        @endif
    </span>
@endforeach