使用货币转换器获得更快结果的最佳方式

Best way to use currency converter for faster result

货币我正在使用 google 金融 api 来转换货币,代码如下

 <?php
      function convertCurrency($amount, $from, $to){
        $url  = "https://www.google.com/finance/converter?a=$amount&from=$from&to=$to";
        $data = file_get_contents($url);
        preg_match("/<span class=bld>(.*)<\/span>/",$data, $converted);
        $converted = preg_replace("/[^0-9.]/", "", $converted[1]);
        return round($converted, 3);
      }

      # Call function  
      echo convertCurrency(1, "USD", "INR");
      ?>

一切正常我得到了正确的转换但现在我面临的问题是我的网站上会有很多产品所以我必须使用 foreach 迭代所有产品并迭代循环 我正在调用货币转换器功能以根据用户位置转换价格,但随着产品的增加,转换所有货币所花费的时间也是 increasing.So 只是想知道是否有其他方法可以通过执行此转换,以免影响我网站的性能。

首先作为起点,不要每次都尝试转换所有价格。您只需要一个转换率,以便每次加载一次 api 调用。 假设您将价格从 USD 转换为 GNF(我来自几内亚)。 只需从 1 美元转换 -> ? GNF

$UsdToGnfRate=convertCurrency(1, 'USD', 'GNF')

从现在开始,您可以使用此汇率将产品价格乘以您从 api

获得的汇率,将所有产品价格从美元转换为 GNF
foreach($products as $item){
  $localPrice=$item['price'] * $UsdToGnfRate
}

您可以自己测试一下,或者寻找基于汇率的货币换算。这样您就不会为页面上的每个产品调用 api。