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

时间:2016-11-18 09:51:12

标签: php laravel laravel-5.3 laravel-blade

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

7 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:8)

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

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

答案 2 :(得分:4)

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

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

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

答案 3 :(得分:3)

使用implode:

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

答案 4 :(得分:1)

implode是一个选项,或者你也可以像这样使用join

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

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

答案 5 :(得分:0)

尝试implode():

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

//输出

one,two,three

答案 6 :(得分:0)

我相信你要找的东西可能是这样的: //让你的数组在php标签中 // $ arr = ['one','two','three']; ? &GT; //使用foreach遍历数组,如果数组的计数不等于las元素,则将昏迷置于其后

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