Laravel 使用数组并循环关联数组

Posted

技术标签:

【中文标题】Laravel 使用数组并循环关联数组【英文标题】:Laravel working with arrays and looping through associative arrays 【发布时间】:2019-01-22 04:43:51 【问题描述】:

考虑我有以下数组(从我的控制器传递给视图):

'first' => [

    '1' => [
        'title' => 'First Div',
        'fields' => [
            'name', 'select'
        ],
    ],

     'divider',

    '2' => [
        'title' => 'Second Div',
        'fields' => [
            'address'
        ],
    ],

我转储时在浏览器中看起来像这样:

array (size=2)
  1 => 
    array (size=2)
      'title' => string 'First Div' (length=9)
      'fields' => 
        array (size=2)
          0 => string 'name' (length=4)
          1 => string 'select' (length=6)
  2 => 
    array (size=2)
      'title' => string 'Second Div' (length=10)
      'fields' => 
        array (size=1)
          0 => string 'address' (length=7)

我想要做的是以下。我想遍历所有数组,然后显示一个带有 title 的 div,并在该 div 中循环遍历每个数组的所有 fields

现在我只专注于遍历数组并显示正确的数据,所以还没有任何 div。所以是这样的:

@foreach($first as $key => $value)

    // Unsure what to do here

@endforeach

我已经尝试了很多东西(只是在尝试转储或回显数据),我什至无法弄清楚如何显示 title,更不用说遍历所有 fields 值了。

无论哪种方式,我的最终目标是根据从控制器传递的内容创建以下动态视图:

【问题讨论】:

好吧$value 也将是一个数组,所以添加另一个 foreach 循环来处理它 【参考方案1】:

要在刀片中回显一个值,您可以将变量包装在 中。

你应该能够按照以下方式做一些事情:

@foreach($first as $key => $value)

    <div>
        <h2> $value['title'] </h2>

        @foreach($value['fields'] as $field)

             $field  <br>

        @endforeach
    </div>

@endforeach

请查看documentation了解更多信息

【讨论】:

谢谢,我知道括号,老实说我已经尝试了你在这里描述的内容,但我只得到了错误。但这以某种方式神奇地起作用。哈哈,非常感谢,我要学习很多东西:)

以上是关于Laravel 使用数组并循环关联数组的主要内容,如果未能解决你的问题,请参考以下文章

php Laravel Collection将数组转换为关联数组

Laravel 资源将我的关联数组转换为标准数组

Laravel 5.1 从原始数据库(或只是一个数组)创建集合或关联数组

php Laravel Collection将Objects /数组转换为关联数组

Shell - 如何声明关联数组并遍历[重复]

如何使用从 laravel 中的数组中获取的各种术语进行 mysql 关联查询