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 gwas 分析-数据质控之过滤稀有突变中出现的问题
  • ¥15 没有注册类 (异常来自 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
  • ¥15 知识蒸馏实战博客问题
  • ¥15 用PLC设计纸袋糊底机送料系统
  • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案