web-dev-qa-db-fra.com

Créer une liste séparée par des virgules à partir du tableau dans laravel / blade?

J'affiche des éléments d'un tableau @foreach($tags as $tag)$tag->@endforeach. La sortie est tag1tag2tag3. Quelle est la façon possible de sho éléments de tableau dans tag1,tag2,tag3. Et comment ne pas montrer, s'il n'y a qu'un seul élément dans le tableau.

9
Zachary Dale

implode() est bon pour faire écho à des données simples. Dans un projet réel, vous voulez généralement ajouter du HTML ou de la logique dans la boucle, utilisez $loop variable disponible depuis 5.3:

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

La réponse choisie est trop compliquée. Laravel a une solution plus simple:

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

Utilisez imploser:

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

imploser est une option ou vous pouvez utiliser joindre aussi bien comme celui-ci

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

Essayez le premier ou celui-ci .. bonne chance

1
anuraj

Je crois que ce que vous cherchez pourrait être quelque chose comme ceci: // avoir votre tableau dans les balises php // $ arr = ['one', 'two', 'three']; ? > // parcourir le tableau avec foreach et si le nombre de tableaux n'est pas égal à l'élément las, mettre le coma après

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

Essayez implode ():

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

// production

one,two,three
0
Mayank Pandeyz