在foreach循环中正确显示逗号和空格

时间:2017-04-25 13:59:39

标签: php laravel laravel-blade

我需要在页面上显示标签,诀窍是我不想在最后一个标签后显示逗号。

所以,我有这个:

@foreach($tag as $t)
   <a href="/search?q={{$t}}" class="tags">{{$loop->first ? '' : ', '}} {{$t}}</a>
@endforeach

我想要这个:

A, B, C, D

但相反,我明白了:

A , B , C , D

项目和逗号之间有额外的空格...

1 个答案:

答案 0 :(得分:6)

您需要检查循环是否在最后一项上,如果没有,请附加一个逗号和一个空格(而不是在逗号和空格前加上)。

例如:

@foreach($tag as $t)
   <a href="/search?q={{$t}}" class="tags">{{$t}}{{$loop->last ? '' : ', '}}</a>
@endforeach

你获得双倍空格的原因是因为你在PHP中回显了一个空格,并在你的两个花括号之间放了一个空格。

更新:虽然您的答案也可行,但这是一个偏好问题。你在字母和逗号之间有一个额外空格的原因是由于大括号变量之间的间距。