/** * * @return array(datetime, array(array(iso, amount, rate),...)) or FALSE */ function getCbaRates() { $soapClient = new SoapClient("http://api.cba.am/exchangerates.asmx?wsdl"); $ret = array(); try { $info = $soapClient->ExchangeRatesLatest(); if (!isset($info->ExchangeRatesLatestResult) || !isset($info->ExchangeRatesLatestResult->Rates) || !isset($info->ExchangeRatesLatestResult->Rates->ExchangeRate)) { return false; } foreach ($info->ExchangeRatesLatestResult->Rates->ExchangeRate as $dto) { $ret[] = array($dto->ISO, $dto->Amount, $dto->Rate); } $currentDate = $info->ExchangeRatesLatestResult->CurrentDate; $date = date_create_from_format('Y-m-d\\TH:i:s', $currentDate); if (!$date) { return false; } $dateStr = $date->format('Y-m-d H:i:s'); return array($ret, $dateStr); } catch (SoapFault $fault) { return false; } unset($soapClient); }
<?php //see http://api.cba.am/exchangerates.asmx $soapClient = new SoapClient("http://api.cba.am/exchangerates.asmx?wsdl"); try { $info = $soapClient->ExchangeRatesLatest(); $cbaOneUsdPrice = $info->ExchangeRatesLatestResult->Rates->ExchangeRate[0]->Rate; if (isset($info->ExchangeRatesLatestResult) && isset($info->ExchangeRatesLatestResult->Rates) && isset($info->ExchangeRatesLatestResult->Rates->ExchangeRate)) { foreach ($info->ExchangeRatesLatestResult->Rates->ExchangeRate as $dto) { switch ($dto->ISO) { case "USD": var_dump($dto->ISO . $dto->Rate); break; case "EUR": var_dump('USD:' . $dto->Rate); break; case "RUB": var_dump('USD:' . $dto->Rate); break; } } } exit; $currentDate = $info->ExchangeRatesLatestResult->CurrentDate; var_dump($info->ExchangeRatesLatestResult->Rates->ExchangeRate); exit; $date = date_create_from_format('Y-m-d\\TH:i:s', $currentDate); if ($date) { $dateStr = $date->format('Y-m-d H:i:s'); var_dump($dateStr); }