web-dev-qa-db-ja.com

laravel / bladeの配列からコンマ区切りのリストを作成しますか?

配列@foreach($tags as $tag)$tag->@endforeachの要素を表示しています。出力はtag1tag2tag3です。 tag1,tag2,tag3で配列の要素を表示する方法は何ですか。配列に要素が1つしかない場合に表示しない方法,

9
Zachary Dale

implode()は、単純なデータをエコーするのに適しています。実際のプロジェクトでは、通常、いくつかのHTMLまたはロジックをループに追加する必要があります。 $loop 5.3以降で使用可能な変数:

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

選択した答えは複雑すぎます。 Laravelはより簡単な解決策を持っています:

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

分解を使用:

{{ implode(', ', $tags) }}
3
Matei Mihai

分解は1つのオプションですが、このように結合を使用することもできます。

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

最初のものか、これを試してください。

1
anuraj

私はあなたが探しているものはこのようなものかもしれないと信じています:// phpタグで配列を持っています// $ arr = ['one'、 'two'、 'three']; ? > // foreachで配列を調べ、配列の数がlas要素と等しくない場合は、その後にコマを配置します

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

Implode()を試してください:

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

//出力

one,two,three
0
Mayank Pandeyz