【问题标题】:Create comma separated list from array in laravel/blade?从 laravel/blade 中的数组创建逗号分隔列表?
【发布时间】:2017-04-02 02:50:15
【问题描述】:

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

【问题讨论】:

标签: php laravel laravel-5.3 laravel-blade


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 如何将每个元素包装在锚标记中?理想情况下,当列表“太长”时显示“...”?
    【解决方案3】:

    我相信您正在寻找的可能是这样的: //在php标签中有你的数组 //$arr = ['一', '二', '三']; ? > //用foreach遍历数组,如果数组的计数不等于las元素,则在它后面加上逗号

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

      • 如果数组中只有一个元素逗号不会出现对吗?
      • @ZacharyDale 是的,你是对的,在这种情况下你不会看到逗号。
      【解决方案5】:

      试试 implode():

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

      // 输出

      one,two,three
      

      【讨论】:

        【解决方案6】:

        implode 是一种选择,或者您也可以像这样使用 join

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

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

        【讨论】:

          【解决方案7】:

          使用内爆:

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

          【讨论】:

          • 在 Laravel 中,您经常处理 Collection 对象而不是原始 PHP 数组。在这些情况下,Collection 本身提供了一个 implode 方法。像{{ $user-&gt;sports-&gt;pluck('name')-&gt;implode(', ') }} 一样使用它
          猜你喜欢
          • 2011-01-26
          • 2016-07-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-06-18
          相关资源
          最近更新 更多