dongliantong3229 2017-07-19 12:35
浏览 48
已采纳

PHP / Laravel Foreach循环 - 仅显示属于同一标题的项目

I have a problem to view some data in the way I want to have it.

Here is a example of the array:

$items =         
       0 => [
               'name' => 'foo'
               'description' => 'bar'
               'url' => 'http://foobar.com'
               'headline' => 'Headline 1' 
            ],
       1 => [
               'name' => 'uni'
               'description' => 'corn'
               'url' => 'http://unicorn.com'
               'headline' => 'Headline 1' 
            ],

       2 => [
               'name' => 'awe'
               'description' => 'some'
               'url' => 'http://awesome.com'
               'headline' => 'Headline 2' 
            ],

And know I want to loop through the items array and want to show the headline at first and all items that have the same headline. If a item has another headline, I want to print out the other headline and the items that belongs to it.

Should look like that:

Headline 1 : <--- Items that do have this headline

name = foo
description = bar
url = http://foobar.com

name = uni
description = corn
url = http://unicorn.com

Headline 2 <----- items with a new headline

name = awe
description = some
url = http://awesome.com

I wansn't able to do that. Can someone help me there?

I've tried something like a for loop that checks the current headline with the next headline.

@for ($i = 0; $i <= count($items); $i++)
            <span>{{ $items[$i]['headline'] }}</span>
        @if($items[$i]['headline'] == $items[$i+1]['headline'])
        ..... 
        @ else .....
@endfor

But this haven't worked well

Thanks for your help and sorry because of my bad english!

  • 写回答

3条回答 默认 最新

  • doulao2916 2017-07-19 12:40
    关注

    Use laravel collections with groupby() method

    $collection = collect($items);
    
    $items= $collection->groupBy('headline');
    
    $items->toArray();
    

    The array will be splited by headline

    From Laravel Docs https://laravel.com/docs/5.4/collections#method-groupby

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里