【发布时间】:2017-04-02 02:50:15
【问题描述】:
我正在显示数组 @foreach($tags as $tag)$tag->@endforeach 的元素。输出为tag1tag2tag3。在tag1,tag2,tag3 中显示数组元素的可能方法是什么。以及如果数组中只有一个元素,如何不显示,。
【问题讨论】:
标签: php laravel laravel-5.3 laravel-blade
我正在显示数组 @foreach($tags as $tag)$tag->@endforeach 的元素。输出为tag1tag2tag3。在tag1,tag2,tag3 中显示数组元素的可能方法是什么。以及如果数组中只有一个元素,如何不显示,。
【问题讨论】:
标签: php laravel laravel-5.3 laravel-blade
使用这个。我们可以使用 $loop->last
来实现它@foreach ($arrayOrCollection as $value)
<span class="nice">
{{ $value->first_name }}
@if( !$loop->last)
,
@endif
</span>
@endforeach
【讨论】:
所选答案太复杂。 Laravel 有一个更简单的解决方案:
{{ $items->pluck('tag')->implode(', ') }}
【讨论】:
我相信您正在寻找的可能是这样的: //在php标签中有你的数组 //$arr = ['一', '二', '三']; ? > //用foreach遍历数组,如果数组的计数不等于las元素,则在它后面加上逗号
@foreach ($arr as $key => $value)
@if( count( $arr ) != $key + 1 )
{{ $value }},
@else
{{ $value }}
@endif
@endforeach
【讨论】:
implode() 适用于回显简单数据。在实际项目中,您通常希望在循环中添加一些 HTML 或逻辑,请使用自 5.3 起可用的 $loop 变量:
@foreach ($arrayOrCollection as $value)
{{ $loop->first ? '' : ', ' }}
<span class="nice">{{ $value->first_name }}</span>
@endforeach
【讨论】:
试试 implode():
$arr = ['one', 'two', 'three'];
echo implode(',', $arr);
// 输出
one,two,three
【讨论】:
implode 是一种选择,或者您也可以像这样使用 join
{{ join(', ', $tags) }}
尝试第一个或这个.. 祝你好运
【讨论】:
使用内爆:
{{ implode(', ', $tags) }}
【讨论】:
{{ $user->sports->pluck('name')->implode(', ') }} 一样使用它