非法偏移类型:Foreach循环遍历数组

时间:2014-08-27 00:31:29

标签: php laravel

我有这个循环:

@foreach($books as $listing)
  <h4>{{ $books[$listing]['name'] }} - {{ $books[$listing]['author'] }}</h4>
  <p>[[ $books[$listing]['location'] }} - {{ $books[$listing]['condition'] }}.</p>
@endforeach

它会产生错误: Illegal offset type (View: then goes on to point to the .blade.php view path

我的数组元素基本上可以这样引用:$books[0]['author']。我希望能够遍历数组并在每次迭代时更改[0]的值。

我对此非常陌生,任何帮助都会受到赞赏。

3 个答案:

答案 0 :(得分:1)

您收到该错误的原因是您尝试使用$listing作为$books的密钥。相反,你应该做的事情如下:

@foreach($books as $key => $listing)
    {{{ $listing['name'] }}} or {{{ $books[$key]['name'] }}}
@endforeach

答案 1 :(得分:1)

如果您使用foreach,则不必再对原始数组编制索引。所以不要做

$books[$listing]['name']

你可以做到

$listing['name']

$listing没有数组中元素的索引,而是数组本身的元素。

答案 2 :(得分:0)

要解决此错误,请使用您尝试循环的原始数组:

 @foreach($books as $key => $listing)

{{{ $books['name'] }}} or {{{ $books['name'] }}}

 @endforeach