Laravel - htmlspecialchars() 期望参数 1 是字符串,给定对象

新手上路,请多包涵

我去这个错误:

 htmlspecialchars() expects parameter 1 to be string, object given

我在控制器中使用:

 $data = '{"pr":{"code":"1"},"ac":[[{"icon":"web","action":"link","url":"asd"}]]}'
$newData = json_decode($data);

我将它作为数组发送到视图:’data’ => \(newData 当我尝试在视图中使用 \)data 时,它给了我这个错误

已经尝试使用 \(data->ac OR \)data[‘ac’] 但还是一样…请帮忙?

原文由 Kiddo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 447
1 个回答

当您使用刀片回声 {{ $data }} 时,它将自动转义输出。它只能转义字符串。在您的数据中 $data->ac 是一个数组,而 $data 是一个对象,两者都不能按原样回显。您需要更具体地说明数据的输出方式。究竟是什么样子完全取决于您要完成的工作。例如,要显示您需要执行的链接 {{ $data->ac[0][0]['url'] }} (不知道为什么您有两个嵌套数组,但我只是遵循您的数据结构)。

 @foreach($data->ac['0'] as $link)
    <a href="{{ $link['url'] }}">This is a link</a>
@endforeach

原文由 jfadich 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题