Php 在foreach循环中显示larave api响应

Php 在foreach循环中显示larave api响应,php,laravel,api,Php,Laravel,Api,如何在foreach循环中显示JSON响应: $client = new Client(); $res = $client->get('https://api.exchangerate.host/symbols'); $data['symbols'] = $res->getBody(); return view('welcome', $data); 当我尝试使用循环显示时,然后什么也不显示 这是我的循环 @foreach ($symbols as $symbol) <

如何在foreach循环中显示JSON响应:

$client = new Client();
$res = $client->get('https://api.exchangerate.host/symbols');
$data['symbols'] = $res->getBody();

return view('welcome', $data);
当我尝试使用循环显示时,然后什么也不显示 这是我的循环

@foreach ($symbols as $symbol)
    <a href="" onclick="myfunction()">{{ $symbol }}</a>
@endforeach

我只想在循环中显示符号

您需要将正确的信息传递到
$data
变量中。从此改变

$data['symbols'] = $res->getBody();
对此

$data['symbols'] = $res->getBody()->symbols;
您还需要按如下方式更改
foreach
循环:-

@foreach ($symbols as $symbol)
    <a href="" onclick="myfunction()">{{ $symbol['code'] }}</a>
@endforeach
@foreach($symbols作为$symbol)
@endforeach

您需要将正确的信息传递到
$data
变量中。从此改变

$data['symbols'] = $res->getBody();
对此

$data['symbols'] = $res->getBody()->symbols;
您还需要按如下方式更改
foreach
循环:-

@foreach ($symbols as $symbol)
    <a href="" onclick="myfunction()">{{ $symbol['code'] }}</a>
@endforeach
@foreach($symbols作为$symbol)
@endforeach

应解码json响应

试试这个

$data['symbols'] = json_decode($res->getBody())->symbols;
@foreach($symbols作为$symbol)
@endforeach

应解码json响应

试试这个

$data['symbols'] = json_decode($res->getBody())->symbols;
@foreach($symbols作为$symbol)
@endforeach

如果JSON响应来自API,则可以使用PHP函数JSON_decode()进行解码。这是该功能的手册。
如果JSON响应来自API,则可以使用PHP函数JSON_decode()进行解码。这是该功能的手册。

谢谢will walsh,但是获取此信息时不能将GuzzleHttp\Psr7\Stream类型的对象用作数组错误now@MDMasum检查编辑。我将响应正文误认为是数组,而不是GuzzleHttp\Psr7\Stream对象。谢谢您,will walsh,但是获取此内容时不能将GuzzleHttp\Psr7\Stream类型的对象用作数组错误now@MDMasum检查编辑。我将响应正文误认为是数组,而不是GuzzleHttp\Psr7\Stream对象。现在显示传递给Symfony\Component\HttpFoundation\response::setContent()的参数1的类型必须是string或null,即给定的、调用的对象in@MDMasum你能发布完整的错误消息吗?哪行代码有此错误?$client=new client()$res=$client->get(');返回$data['symbols']=json_decode($res->getBody())->symbols;显示传递给Symfony\Component\HttpFoundation\Response::setContent()的错误参数1的类型必须是string或null,给定的对象称为inaah,这是不同的错误。do,$data['symbols']=json_decode($res->getBody())->符号;返回$data['symbols'];或者,像这样返回json_decode($res->getBody(),true)['symbols'];现在显示传递给Symfony\Component\HttpFoundation\Response::setContent()的参数1的类型必须是string或null,即给定的对象,称为in@MDMasum你能发布完整的错误消息吗?哪行代码有此错误?$client=new client()$res=$client->get(');返回$data['symbols']=json_decode($res->getBody())->symbols;显示传递给Symfony\Component\HttpFoundation\Response::setContent()的错误参数1的类型必须是string或null,给定的对象称为inaah,这是不同的错误。do,$data['symbols']=json_decode($res->getBody())->符号;返回$data['symbols'];或者,像这样返回json_decode($res->getBody(),true)['symbols'];