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 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染