You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel中调用Rest Countries API v3.1获取货币信息?

解决Laravel调用Rest Countries API获取货币名称的问题

Rest Countries API返回的currencies字段是一个键值对对象,键是货币代码(比如SGD),对应的值里包含name(货币正式名称)和symbol(货币符号)字段。你可以通过遍历这个对象来提取货币名称,以下是几种实用的实现方式:

方式1:显示所有货币的名称和代码(适配多货币国家)

直接遍历currencies对象,同时获取货币代码和名称:

@foreach ($responseBody as $response)
<div class="row">
    <div class="col-4">Official Name</div>
    <div class="col-8">{{ $response->name->official }}</div>
</div>
<div class="row">
   <div class="col-4">Currencies</div>
   <div class="col-8">
       @foreach($response->currencies as $code => $currency)
           {{ $currency->name }} ({{ $code }})@if(!$loop->last), @endif
       @endforeach
   </div>
</div>
@endforeach

方式2:只取第一个货币名称(适合默认显示主货币)

如果只需要展示国家的主要货币,用collect()转换后取第一个元素的name:

@foreach ($responseBody as $response)
<div class="row">
    <div class="col-4">Official Name</div>
    <div class="col-8">{{ $response->name->official }}</div>
</div>
<div class="row">
   <div class="col-4">Currencies</div>
   <div class="col-8">
       {{ collect($response->currencies)->first()->name }}
   </div>
</div>
@endforeach

方式3:兼容无货币数据的情况(避免报错)

加上判断逻辑,防止部分国家无货币数据导致页面报错:

@foreach ($responseBody as $response)
<div class="row">
    <div class="col-4">Official Name</div>
    <div class="col-8">{{ $response->name->official }}</div>
</div>
<div class="row">
   <div class="col-4">Currencies</div>
   <div class="col-8">
       @if(isset($response->currencies) && !empty($response->currencies))
           @foreach($response->currencies as $code => $currency)
               {{ $currency->name }} ({{ $code }})@if(!$loop->last), @endif
           @endforeach
       @else
           No currency data available
       @endif
   </div>
</div>
@endforeach

内容的提问来源于stack exchange,提问作者Pamungkas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:20:22