load($url)) { // если не получили xml возвращаем false return false; } // массив для хранения курсов валют $result = []; // разбираем xml $root = $xml->documentElement; // берем все теги 'Valute' и их содержимое $items = $root->getElementsByTagName('Valute'); // переберем теги 'Valute' по одному foreach ($items as $item) { // получаем код валюты $code = $item->getElementsByTagName('CharCode')->item(0)->nodeValue; // получаем значение курса валюты, относительно рубля $value = $item->getElementsByTagName('Value')->item(0)->nodeValue; // номинал $nominal = $item->getElementsByTagName('Nominal')->item(0)->nodeValue; // записываем в массив, предварительно заменив запятую на точку $result[$code] = round(str_replace(',', '.', $value), 5) / $nominal; }// возвращаем значение курса, для запрошенной валюты return $result; } $get = getCurs(); if (Config::get('curency_name') === 'RUB') { $curency = Config::get('curency_value'); } else { $curency = round($get[Config::get('curency_name')] * Config::get('curency_value'), 4); } if ($get['USD'] > 0) { $price = [ 'AUD', 'AZN', 'AMD', 'BYR', 'BGN', 'BRL', 'HUF', 'KRW', 'DKK', 'USD', 'EUR', 'INR', 'KZT', 'CAD', 'KGS', 'CNY', 'LVL', 'LTL', 'MDL', 'RON', 'TMT', 'NOK', 'PLN', 'XDR', 'SGD', 'TJS', 'TRY', 'UZS', 'UAH', 'GBP', 'CZK', 'SEK', 'CHF', 'ZAR', 'JPY', ]; $r = ''; foreach ($price as $value) { if (!$get[$value]) { continue; } $r .= ',`' . $value . '`="' . $get[$value] . '"'; } Db::sql('insert into bank_table set time = unix_timestamp(), cur = ?, data = ?', [$curency, date('d.m.Y') . $r]); }