Laravel - 将关联数组的数组传递给部分数组

时间:2017-02-10 14:03:28

标签: php arrays laravel laravel-5 blade

我正在尝试将包含关联数组数组的关联数组传递给laravel 5.2中的partial:

        @include('admin.partials.context-menu', [
            'items' => [
               ['test' => 'test']
            ],
            'icon'  => 'more_vert'
        ])

并尝试访问数组中的数组项:

<ul class="context-menu">
    @foreach($items as $item)
        <li class="context-menu-item">
            {{ $item['test']  }}
        </li>
    @endforeach
</ul>

然而,当我尝试这样做时,我收到错误非法字符串偏移'test'。

到目前为止我尝试过的事情: 使用索引数组'items' - 工作,但开发非常不直观 传递对象而不是关联数组 - 意外行为,表示它是typeOf时的对象,但是当访问值时,表示它不是对象。

我可以在部分内容var_dump并且所有值都符合预期,但只有当我尝试通过刀片访问它们的值时才会出现问题 如在

{{ $item['test']  }}

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

我只能想到你错过了其中一个项目的钥匙。

例如,我可以使用以下代码触发相同的错误。

<?php

$array = [
    'items' => [
        ['test' => 'test'],
        ['key' => 'test2']
    ]
];

foreach ($array['items'] as $item) {
    var_dump($item['test']);
}

尝试

@foreach ($items as $key => $value) // yes this works in blade
    {{ $item[$key] }}
@endforeach