尝试访问 bool 类型值的数组偏移量 - Laravel API json 响应

问题描述

当我尝试从 API 填充响应时,我在 Laravel 中遇到错误错误异常 尝试访问 bool 类型值的数组偏移量(视图:C:\laragon\www\testapi\resources\views\order.blade.PHP

示例 API 响应。

{
"success": true,"desc": "success","details": [{
"awb_no": "","orderid": "BIG000013","status": "Error","reason": "S10","data": null
}]
}

这是来自控制器的代码

 $response = curl_exec($curl);
 curl_close($curl);
 $response_obj = json_decode($response,TRUE);

 //return $response_obj;
 return view('order',['data' => $response_obj]);

这是“订单”视图中的代码

@foreach($data as $item)
{{ $item['desc'] }}
@endforeach

当我在谷歌上搜索错误时,大部分答案都指向使用较低的 PHP 版本并进行 Composer 更新。这两个我都做过。仍然得到同样的错误代码有什么问题吗?从 youtube 的示例教程中获取代码

解决方法

$data 不是数组,它是单个对象,您在导致错误的对象上使用 foreach

您可以直接访问 desc 值:

{{ $data['desc'] }} // success

另外,details 是一个数组,其值可以通过以下方式访问:

@foreach ($data['details'] as $item)
    {{ $item['orderid'] }} // BIG000013
    {{ $item['status'] }} // Error
@endforeach