【问题标题】:Receiving error after combining multiple arrays into one将多个数组合并为一个后接收错误
【发布时间】:2020-03-05 00:56:24
【问题描述】:

我将一组数组分组到一个数组$Final_updts[] 下,如下所示: 请注意,数组在合并之前工作正常。

array(5) { 
[0]=> array(0) { } 
[1]=> array(0) { } 
[2]=> array(3) { 
  [0]=> object(stdClass)#372 (21) { 
  ["id"]=> int(8) ["created_at"]=> string(19) "2019-11-08 11:07:55" 
  ["updated_at"]=> string(19) "2019-11-08 11:07:55" 
  ["title"]=> string(42) "question 1" ["body"]=> string(47) "Answer 1"}
}

然后我将它返回给视图:

return view('updates', ['f_updt' => $Final_updts]);

查看:

@if(!empty($f_updt))
@foreach($f_updt as $f_updts)
<div class="post00" >
  <p>Other posts</p>
  <a href="/sharp/posts/{{ $f_updts->id }}"> 
    <h3> {{$f_updts->title}}  </h3>
    <br>
    <h5> {{$f_updts->body}}  </h5>
  </a>
</div>
<br>
@endforeach
@endif

我收到此错误:

Trying to get property of non-object

【问题讨论】:

  • 每个$f_updts 变量都是一个可以为空的数组。你应该检查空,如果不空,使用$f_updts[0]-&gt;title$f_updts[0]-&gt;body
  • 我不想使用 $f_updts[0] 然后使用 $f_updts[1]。我只希望一个数组被写入一次。

标签: php arrays laravel object


【解决方案1】:
@foreach($f_updt as $x => $f_updts)

   @foreach($f_updts as $f_updts1)
      @if(isset($f_updts1))
        @if(isset($f_updts1->id))

            <div class="post00">
                <p>Other posts</p>
                <a href="/sharp/posts/{{ $f_updts1->id }}">
                    <h3> {{$x}}  </h3>
                    <br>
                    <h4> {{$f_updts1->title}}  </h4>
                    <br>
                    <h5> {{$f_updts1->body}}  </h5>
                </a>
            </div>
            <br>
          @endif
        @endif
    @endforeach
@endforeach

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 2017-01-11
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    相关资源
    最近更新 更多