Обучаю битриксу программистов, интеграторов. Подробнee ⇒

Получить и распарсить курс валют на сегодня



Для сайтов на лицензии Битрикс "Старт" нет модуля валют, а была задача выводить цены для английской версии в долларах, на русской в рублях
разместила функцию в init.php
function GetDollar(){
   if(isset($_COOKIE["dollar"])) { 
      $dollar = $_COOKIE["dollar"];
   }
   else {
      //валюты
      $valutes = simplexml_load_file("http://www.cbr.ru/scripts/XML_daily.asp");
      $dollar = 70; //по умолчанию
      if(!empty($valutes)){      
         foreach ($valutes->Valute as $valute) {
            if ($valute->CharCode == 'USD') { //тип валюты
               $dollar = round(str_replace(',','.',$valute->Value), 2); //ее значение      
               SetCookie("dollar",$dollar,time()+3600*12); //в куках
            } 
         }
      }
   }
   return $dollar;
}
ниже var_dump($valutes)  
object(SimpleXMLElement)#160 (2) {  ["@attributes"]=>
  array(2) {
    ["Date"]=>
    string(10) "27.10.2021"
    ["name"]=>
    string(23) "Foreign Currency Market"
  }
  ["Valute"]=>
  array(34) {
    [0]=>
    object(SimpleXMLElement)#254 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01010"
      }
      ["NumCode"]=>
      string(3) "036"
      ["CharCode"]=>
      string(3) "AUD"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(39) "Австралийский доллар"
      ["Value"]=>
      string(7) "52,1575"
    }
    [1]=>
    object(SimpleXMLElement)#236 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(7) "R01020A"
      }
      ["NumCode"]=>
      string(3) "944"
      ["CharCode"]=>
      string(3) "AZN"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(41) "Азербайджанский манат"
      ["Value"]=>
      string(7) "40,9374"
    }
    [2]=>
    object(SimpleXMLElement)#265 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01035"
      }
      ["NumCode"]=>
      string(3) "826"
      ["CharCode"]=>
      string(3) "GBP"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(77) "Фунт стерлингов Соединенного королевства"
      ["Value"]=>
      string(7) "95,8018"
    }
    [3]=>
    object(SimpleXMLElement)#250 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01060"
      }
      ["NumCode"]=>
      string(3) "051"
      ["CharCode"]=>
      string(3) "AMD"
      ["Nominal"]=>
      string(3) "100"
      ["Name"]=>
      string(31) "Армянских драмов"
      ["Value"]=>
      string(7) "14,5782"
    }
    [4]=>
    object(SimpleXMLElement)#230 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(7) "R01090B"
      }
      ["NumCode"]=>
      string(3) "933"
      ["CharCode"]=>
      string(3) "BYN"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(33) "Белорусский рубль"
      ["Value"]=>
      string(7) "28,8193"
    }
    [5]=>
    object(SimpleXMLElement)#231 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01100"
      }
      ["NumCode"]=>
      string(3) "975"
      ["CharCode"]=>
      string(3) "BGN"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(27) "Болгарский лев"
      ["Value"]=>
      string(7) "41,2800"
    }
    [6]=>
    object(SimpleXMLElement)#226 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01115"
      }
      ["NumCode"]=>
      string(3) "986"
      ["CharCode"]=>
      string(3) "BRL"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(31) "Бразильский реал"
      ["Value"]=>
      string(7) "12,5191"
    }
    [7]=>
    object(SimpleXMLElement)#234 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01135"
      }
      ["NumCode"]=>
      string(3) "348"
      ["CharCode"]=>
      string(3) "HUF"
      ["Nominal"]=>
      string(3) "100"
      ["Name"]=>
      string(37) "Венгерских форинтов"
      ["Value"]=>
      string(7) "22,0574"
    }
    [8]=>
    object(SimpleXMLElement)#232 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01200"
      }
      ["NumCode"]=>
      string(3) "344"
      ["CharCode"]=>
      string(3) "HKD"
      ["Nominal"]=>
      string(2) "10"
      ["Name"]=>
      string(39) "Гонконгских долларов"
      ["Value"]=>
      string(7) "89,4475"
    }
    [9]=>
    object(SimpleXMLElement)#233 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01215"
      }
      ["NumCode"]=>
      string(3) "208"
      ["CharCode"]=>
      string(3) "DKK"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(25) "Датская крона"
      ["Value"]=>
      string(7) "10,8535"
    }
    [10]=>
    object(SimpleXMLElement)#237 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01235"
      }
      ["NumCode"]=>
      string(3) "840"
      ["CharCode"]=>
      string(3) "USD"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(19) "Доллар США"
      ["Value"]=>
      string(7) "69,5526"
    }
    [11]=>
    object(SimpleXMLElement)#270 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01239"
      }
      ["NumCode"]=>
      string(3) "978"
      ["CharCode"]=>
      string(3) "EUR"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(8) "Евро"
      ["Value"]=>
      string(7) "80,7019"
    }
    [12]=>
    object(SimpleXMLElement)#229 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01270"
      }
      ["NumCode"]=>
      string(3) "356"
      ["CharCode"]=>
      string(3) "INR"
      ["Nominal"]=>
      string(3) "100"
      ["Name"]=>
      string(29) "Индийских рупий"
      ["Value"]=>
      string(7) "92,6565"
    }
    [13]=>
    object(SimpleXMLElement)#268 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01335"
      }
      ["NumCode"]=>
      string(3) "398"
      ["CharCode"]=>
      string(3) "KZT"
      ["Nominal"]=>
      string(3) "100"
      ["Name"]=>
      string(37) "Казахстанских тенге"
      ["Value"]=>
      string(7) "16,3365"
    }
    [14]=>
    object(SimpleXMLElement)#252 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01350"
      }
      ["NumCode"]=>
      string(3) "124"
      ["CharCode"]=>
      string(3) "CAD"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(31) "Канадский доллар"
      ["Value"]=>
      string(7) "56,1996"
    }
    [15]=>
    object(SimpleXMLElement)#255 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01370"
      }
      ["NumCode"]=>
      string(3) "417"
      ["CharCode"]=>
      string(3) "KGS"
      ["Nominal"]=>
      string(3) "100"
      ["Name"]=>
      string(31) "Киргизских сомов"
      ["Value"]=>
      string(7) "81,9991"
    }
    [16]=>
    object(SimpleXMLElement)#223 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01375"
      }
      ["NumCode"]=>
      string(3) "156"
      ["CharCode"]=>
      string(3) "CNY"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(27) "Китайский юань"
      ["Value"]=>
      string(7) "10,8993"
    }
    [17]=>
    object(SimpleXMLElement)#228 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01500"
      }
      ["NumCode"]=>
      string(3) "498"
      ["CharCode"]=>
      string(3) "MDL"
      ["Nominal"]=>
      string(2) "10"
      ["Name"]=>
      string(29) "Молдавских леев"
      ["Value"]=>
      string(7) "39,6876"
    }
    [18]=>
    object(SimpleXMLElement)#227 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01535"
      }
      ["NumCode"]=>
      string(3) "578"
      ["CharCode"]=>
      string(3) "NOK"
      ["Nominal"]=>
      string(2) "10"
      ["Name"]=>
      string(29) "Норвежских крон"
      ["Value"]=>
      string(7) "83,1899"
    }
    [19]=>
    object(SimpleXMLElement)#225 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01565"
      }
      ["NumCode"]=>
      string(3) "985"
      ["CharCode"]=>
      string(3) "PLN"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(29) "Польский злотый"
      ["Value"]=>
      string(7) "17,4870"
    }
    [20]=>
    object(SimpleXMLElement)#204 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(7) "R01585F"
      }
      ["NumCode"]=>
      string(3) "946"
      ["CharCode"]=>
      string(3) "RON"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(25) "Румынский лей"
      ["Value"]=>
      string(7) "16,3200"
    }
    [21]=>
    object(SimpleXMLElement)#281 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01589"
      }
      ["NumCode"]=>
      string(3) "960"
      ["CharCode"]=>
      string(3) "XDR"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(69) "СДР (специальные права заимствования)"
      ["Value"]=>
      string(7) "98,3794"
    }
    [22]=>
    object(SimpleXMLElement)#269 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01625"
      }
      ["NumCode"]=>
      string(3) "702"
      ["CharCode"]=>
      string(3) "SGD"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(37) "Сингапурский доллар"
      ["Value"]=>
      string(7) "51,6199"
    }
    [23]=>
    object(SimpleXMLElement)#257 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01670"
      }
      ["NumCode"]=>
      string(3) "972"
      ["CharCode"]=>
      string(3) "TJS"
      ["Nominal"]=>
      string(2) "10"
      ["Name"]=>
      string(33) "Таджикских сомони"
      ["Value"]=>
      string(7) "61,7971"
    }
    [24]=>
    object(SimpleXMLElement)#260 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(7) "R01700J"
      }
      ["NumCode"]=>
      string(3) "949"
      ["CharCode"]=>
      string(3) "TRY"
      ["Nominal"]=>
      string(2) "10"
      ["Name"]=>
      string(23) "Турецких лир"
      ["Value"]=>
      string(7) "73,5866"
    }
    [25]=>
    object(SimpleXMLElement)#258 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(7) "R01710A"
      }
      ["NumCode"]=>
      string(3) "934"
      ["CharCode"]=>
      string(3) "TMT"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(44) "Новый туркменский манат"
      ["Value"]=>
      string(7) "19,8722"
    }
    [26]=>
    object(SimpleXMLElement)#256 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01717"
      }
      ["NumCode"]=>
      string(3) "860"
      ["CharCode"]=>
      string(3) "UZS"
      ["Nominal"]=>
      string(5) "10000"
      ["Name"]=>
      string(29) "Узбекских сумов"
      ["Value"]=>
      string(7) "65,0328"
    }
    [27]=>
    object(SimpleXMLElement)#263 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01720"
      }
      ["NumCode"]=>
      string(3) "980"
      ["CharCode"]=>
      string(3) "UAH"
      ["Nominal"]=>
      string(2) "10"
      ["Name"]=>
      string(33) "Украинских гривен"
      ["Value"]=>
      string(7) "26,2934"
    }
    [28]=>
    object(SimpleXMLElement)#261 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01760"
      }
      ["NumCode"]=>
      string(3) "203"
      ["CharCode"]=>
      string(3) "CZK"
      ["Nominal"]=>
      string(2) "10"
      ["Name"]=>
      string(23) "Чешских крон"
      ["Value"]=>
      string(7) "31,4220"
    }
    [29]=>
    object(SimpleXMLElement)#259 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01770"
      }
      ["NumCode"]=>
      string(3) "752"
      ["CharCode"]=>
      string(3) "SEK"
      ["Nominal"]=>
      string(2) "10"
      ["Name"]=>
      string(25) "Шведских крон"
      ["Value"]=>
      string(7) "80,7043"
    }
    [30]=>
    object(SimpleXMLElement)#266 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01775"
      }
      ["NumCode"]=>
      string(3) "756"
      ["CharCode"]=>
      string(3) "CHF"
      ["Nominal"]=>
      string(1) "1"
      ["Name"]=>
      string(33) "Швейцарский франк"
      ["Value"]=>
      string(7) "75,4612"
    }
    [31]=>
    object(SimpleXMLElement)#264 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01810"
      }
      ["NumCode"]=>
      string(3) "710"
      ["CharCode"]=>
      string(3) "ZAR"
      ["Nominal"]=>
      string(2) "10"
      ["Name"]=>
      string(43) "Южноафриканских рэндов"
      ["Value"]=>
      string(7) "47,2838"
    }
    [32]=>
    object(SimpleXMLElement)#262 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01815"
      }
      ["NumCode"]=>
      string(3) "410"
      ["CharCode"]=>
      string(3) "KRW"
      ["Nominal"]=>
      string(4) "1000"
      ["Name"]=>
      string(38) "Вон Республики Корея"
      ["Value"]=>
      string(7) "59,6414"
    }
    [33]=>
    object(SimpleXMLElement)#276 (6) {
      ["@attributes"]=>
      array(1) {
        ["ID"]=>
        string(6) "R01820"
      }
      ["NumCode"]=>
      string(3) "392"
      ["CharCode"]=>
      string(3) "JPY"
      ["Nominal"]=>
      string(3) "100"
      ["Name"]=>
      string(23) "Японских иен"
      ["Value"]=>
      string(7) "61,0057"
    }
  } }
Если блог был полезным, можете угостить меня "чашечкой кофе" :)

Сбер по номеру телефона +7 (953) 585-13-09 Вероника.
Спасибо!